gpt4 book ai didi

hadoop - 如何运行HBase程序

转载 作者:可可西里 更新时间:2023-11-01 14:20:33 24 4
gpt4 key购买 nike

如何从命令行运行下面的代码?

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();
}
}
}

如何设置我的 hbase 类路径?我的类路径中有一个巨大的字符串。

更新

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)

我能做到

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

我做错了什么吗?

最佳答案

你也可以这样做:-

# export HADOOP_CLASSPATH=`./hbase classpath`

然后将此 java 打包到 jar 中以在 hadoop 集群中运行它,如下所示:-

#hadoop jar <jarfile> <mainclass>

关于hadoop - 如何运行HBase程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16144955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com