PDA

View Full Version : [PREGUNTA] WEKA 3.6.2 Permisos entre computadoras



TheCruzader
04-19-2010, 11:14 AM
Hola, soy algo nuevo utilizando WEKA y estoy intentando distribuir mis experimentos en varias computadoras, lei el apartado de experimentos remotos en el tutorial pero tengo un problema de permisos


Estoy conectando dos computadoras, una en Windows (la que correra el Weka Experiment Enviroment) y otra en Linux Ubuntu 8.04 (sera un remote engine).

Mis datasets estan en la computadora windows.

En la computadora con Linux, tengo el archivo .policy que se asocia a el inicio de mi servicio mediante el siguiente script:

java -Xmx256m \
-classpath "remoteEngine.jar":"mysql.jar":"weka.jar" \
-Djava.security.policy=remote.policy weka.experiment.RemoteEngine &

mi policy esta escrita de la siguiente manera:

/*
* Necessary permissions for remote engines
*
* Example setup for user John Doe:
* - home directory:
* /home/johndoe
* - location of datasets:
* /home/johndoe/datasets/
* - location of weka.jar:
* /home/johndoe/weka/weka.jar
* - location of additional jars (e.g., for database access):
* /home/johndoe/jars
* - remote engine directory (policy, start scripts, etc.):
* /home/johndoe/remote_engine
*
* Start Experimenter in directory /home/johndoe/remote_engine:
* java \
* -classpath /home/johndoe/jars/<db.jar>:/home/johndoe/weka/weka.jar \
* -Djava.rmi.server.codebase=file:/home/johndoe/weka/weka.jar \
* weka.gui.experiment.Experimenter
*
* Start remote engine on remote machine:
* - cd to /home/johndoe/remote_engine
* - start engine
* java -Xmx256m \
* -classpath remoteEngine.jar:/home/johndoe/jars/<db.jar> \
* -Djava.security.policy=remote.policy \
* weka.experiment.RemoteEngine &
*
* Note:
* replace <db.jar> with actual jar filename, e.g., mysql.jar
*
* Version: $Revision: 1.3 $
*/

grant {
// allow the remote engine to replace the context class loader.
// This enables the unloading of types from the remote engine
permission java.lang.RuntimePermission
"setContextClassLoader";

// allow the remote engine access to environment variables
permission java.lang.RuntimePermission
"getenv.*";

// file permission for data sets
permission java.io.FilePermission
"E:/.../.../.../datasets/-", "read";


//file permissions for downloading classes from client file url's
//permission java.io.FilePermission
"E:/.../.../.../-", "read";

//permission java.io.FilePermission
//"E:/.../.../.../.../weka.jar", "read";

// connect to or accept connections from unprivaleged ports and the http port
permission java.net.SocketPermission
"*:1024-65535", "connect,accept";
permission java.net.SocketPermission
"*:80", "connect";

// file permission to load server classes from remoteEngine.jar.
// only needed if RemoteEngine_Skel.class/_Stub.class are going to
// be downloaded by clients (ie, if these files are not already in the
// client's classpath). Normally this doesn't need to be changed.
//permission java.io.FilePermission
"E:/.../.../.../remote_engine/-", "read";

// read write for properties
permission java.util.PropertyPermission
"*", "read,write";
};

todos estos permisos estan haciendo referencia a las carpetas en windows y he intentado de varias formas colocar las rutas, anteponiendo file:/ (y file:///), colocando las diagonales invertidas de manera correcta y siempre me produce el mismo error de permisos a la hora de que ejecuto mi experimento en la maquina windows el cual es:

dataset :nombredataset.arff RemoteExperiment (//HOSTLINUX/RemoteEngine) (sub)experiment (dataset nombredataset.arff) failed : java.security.AccessControlException: access denied (java.io.FilePermission E:/.../.../.../datasets/nombredataset.arff read). Scheduling for execution on another host.

no se que hacer para que esto funcione, si alguien me puede ayudar se los agradeceria muchisimo


Saludos

Hugo Huipet

tdidomenico
04-20-2010, 10:17 AM
Resuelto en el foro de Weka en inglés por Mark Hall, el desarrollador principal de Weka:

http://forums.pentaho.org/showthread.php?t=75941

Si alguien necesita una traducción avise.

TheCruzader
04-20-2010, 05:31 PM
Hola tdidomenico,

Asi es, me ganaste ya iba a colocar la respuesta hoy como dicen las reglas, pero por falta de tiempo apenas ahorita entre en sesion.

Saludos a todos y espero les ayude esta pregunta (y aun mas la respuesta).

Atentamente,

Hugo Huipet

tdidomenico
04-20-2010, 06:41 PM
No hay problema, Hugo, simplemente me topé con la respuesta y aproveché para avisar. Qué alegría saber que al menos algunos leen las reglas :p

¡Saludos!