site.xml

ffx8fchx  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(459)

我当前正在尝试使我的hbase代码使用在my hbase-site.xml中指定的设置。它似乎使用默认设置,而不是hbase-site.xml配置文件中指定的设置。更新文件后,我重新启动了hbase集群,但它仍然没有使用我更新的配置文件。
我使用的集群有两个节点,其中一个是主节点。两个节点上的配置文件都将主节点的ip指定为zookeeper仲裁。我认为问题是hbase-site.xml中指定的设置没有被使用,因为如果我通过代码将zookeeper仲裁设置为与hbase-site.xml中相同的值,代码运行正常,但是如果没有通过代码指定仲裁,则第二个节点无法与主节点联系。

config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", masterNodeIP);

我将非常感谢关于如何将hbase-site.xml包含到我的代码类路径中的说明或链接。我在windows机器上使用eclipse开发,并在linux集群上安装了hbase环境。由于依赖关系,我通常使用eclipse来编译代码。
理想情况下,我希望集群中的每个节点都使用自己的配置文件。
提前谢谢!

pobjuy32

pobjuy321#

如果它使用默认值,不管您在 hbase-site.xml ,这可能意味着它正被类路径中的另一个文件覆盖。这是很有可能的,因为已经有 conf-site.xml 在hbase jar中。
要解决此问题,请编辑类路径以添加包含 hbase-site.xml 在类路径的末尾,确保没有任何内容覆盖它。比如:

java -cp $CLASSPATH:/usr/lib/hbase/conf path.to.your.Mainclass

如果它变得太模糊,我建议从命令行而不是在eclipse中运行它,这样您就可以确切地确定类路径中有什么。
希望有帮助。

相关问题