Ale*_*ieb 6 java hadoop hbase classpath
我目前正在尝试使用我的HBase代码来使用我的hbase-site.xml中指定的设置.它似乎使用默认设置而不是hbase-site.xml配置文件中指定的设置.我更新了文件后重新启动了HBase集群,但它仍然没有使用我更新的配置文件.
我使用的集群是2个节点,其中一个是主节点.两个节点上的配置文件都将主节点的IP指定为zookeeper仲裁.我认为问题是我的hbase-site.xml中指定的设置没有被使用,因为如果我通过代码将zookeeper仲裁设置为与我的hbase-site.xml中相同的值,代码运行正常,但第二个节点不能如果未通过代码指定仲裁,请联系主服务器.
config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", masterNodeIP);
Run Code Online (Sandbox Code Playgroud)
我非常感谢有关如何将hbase-site.xml包含到我的代码的类路径中的说明或链接.我在Windows机器上使用Eclipse进行开发,并在Linux集群上安装了HBase环境.由于依赖性,我通常使用Eclipse来编译代码.
理想情况下,我希望群集中的每个节点都使用自己的配置文件.
提前致谢!
Cha*_*guy 10
如果它使用默认值而不管你放入什么内容hbase-site.xml,它可能意味着它被类路径中的另一个文件覆盖.这是非常可能的,因为conf-site.xml在hbase jar中已经有了.
要解决此问题,请编辑类路径以hbase-site.xml在类路径的末尾添加包含您的目录,以确保不会覆盖它.就像是:
java -cp $CLASSPATH:/usr/lib/hbase/conf path.to.your.Mainclass
Run Code Online (Sandbox Code Playgroud)
如果它太模糊,我建议从命令行运行它而不是在Eclipse中运行它,这样你就可以确切地知道你在类路径中有什么了.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
12641 次 |
| 最近记录: |