Comment faire pour exécuter HBase programme
Comment puis-je exécuter le code ci-dessous à partir de la ligne de commande?
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.*;
public class MyHBase {
public static void main(String[] args) throws Exception {
Configuration conf = HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(conf);
try {
HTable table = new HTable(conf, "test-table");
Put put = new Put(Bytes.toBytes("test-key"));
put.add(Bytes.toBytes("cf"), Bytes.toBytes("q"), Bytes.toBytes("value"));
table.put(put);
} finally {
admin.close();
}
}
}
Comment configurer mon hbase classpath? Je suis une énorme chaîne de caractères dans mon classpath.
Mise à JOUR
root# vi MyHBase.java
hbase-0.92.2 root# java -classpath `hbase classpath`:.//var/root/MyHBase
-sh: hbase: command not found
Exception in thread "main" java.lang.NoClassDefFoundError: /var/root/MyHBase
Caused by: java.lang.ClassNotFoundException: .var.root.MyHBase
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Je suis capable de faire
hbase-0.92.2 root# bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.92.2, r1379292, Fri Aug 31 13:13:53 UTC 2012
hbase(main):001:0> exit
Je fais quelque chose de mal?
HBase a beaucoup de dépendances, ça va être une longue chaîne.
java -classpath
doe ne fonctionne pas?OriginalL'auteur Unmesha SreeVeni | 2013-04-22
Vous devez vous connecter pour publier un commentaire.
Vous pouvez aussi faire quelque chose comme ceci:-
et puis les combiner ce java dans le bocal pour l'exécuter à l'intérieur de cluster hadoop comme ceci:-
OriginalL'auteur techvineet
Utiliser cette
cette obtiendrez de l'ensemble du classpath chaîne de HBase utilise et ajoute le répertoire courant ainsi le classpath.
Cheers
Chiffons
Vous ne pouvez pas exécuter une classe de ce genre. Le chemin où le fichier de classe est présente doit être dans le classpath. Exécuter la même commande à partir du répertoire où le fichier de classe est présente. Alternativement, vous ajoutez /var/racine du classpath.
J'ai essayé de javac -cp
hbase classpath
MyHBase.java java -cphbase classpath
MyHBase bt ne fonctionne pas. Montrant hbase: command not founddois-je configurer le classpath dans hbase-env
Tu veux dire java commande n'est pas trouvée? Veuillez nous faire part de toute erreur avec moi. Je vois que vous avez été en mesure d'exécuter java commande antérieure!------------- Vérifier le couple de plus de choses. Êtes-vous en mesure d'exécuter hbase commande à partir de n'importe où? Ajouter hbase répertoire bin dans votre PATH.
OriginalL'auteur Rags