我当前正在尝试使我的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来编译代码。
理想情况下,我希望集群中的每个节点都使用自己的配置文件。
提前谢谢!
1条答案
按热度按时间pobjuy321#
如果它使用默认值,不管您在
hbase-site.xml
,这可能意味着它正被类路径中的另一个文件覆盖。这是很有可能的,因为已经有conf-site.xml
在hbase jar中。要解决此问题,请编辑类路径以添加包含
hbase-site.xml
在类路径的末尾,确保没有任何内容覆盖它。比如:如果它变得太模糊,我建议从命令行而不是在eclipse中运行它,这样您就可以确切地确定类路径中有什么。
希望有帮助。