J'utilise YCSb (Yahoo! Nuage de référence au service) pour la mesure de performance de 2 noeuds Cassandra (2.0.2) de groupe déployé sur CentOS. Pour les données de chargement à l'aide YCSb J'ai exécuté les éléments suivants -
Exécuter fichier Linux en Python en utilisant le programme Java
bin/ycsb load cassandra -P workloads/cassandraLoadA -s files/load.dat
Cette ligne utilise le fichier de propriété cassandraLoadA et et stocke le YCSb généré en load.dat. Ici, le fichier ycsb est écrit en Python. Maintenant, je veux exécuter ce qui précède à partir d'un programme Java. J'ai essayé avec ProcessBuilder et objet Runtime mais échoué.
En utilisant ProcessBuilder Object-
ProcessBuilder builder = new ProcessBuilder("/DIRECTORY_HERE/bin/ycsb","load","cassandra","-P", "workloads/cassandraLoadA","-s","files/load.dat");
Map<String, String> environ = builder.environment();
final Process process = builder.start();
Utilisation de Runtime Object -
Process p = Runtime.getRuntime().exec("cd /DIRECTORY_HERE/bin/ycsb load cassandra -P workloads/cassandraLoadA -s files/load.dat");
p.waitFor();
Q1: Ai-je fait quelque chose de mal ici?
Q2: Comment cela peut-il être accompli?
Meilleur Regards-
Avijoy
La question peut être downvoted mais les moyens essayés sont mentionnés ainsi au moins un peut donner des manières correctes avant le vote de bas. –