Java 如何在类路径中包含hbase-site.xml

Java 如何在类路径中包含hbase-site.xml,java,hadoop,classpath,hbase,Java,Hadoop,Classpath,Hbase,我当前正在尝试使我的HBase代码使用在my HBase-site.xml中指定的设置。它似乎使用默认设置,而不是hbase-site.xml配置文件中指定的设置。更新文件后,我重新启动了HBase群集,但它仍然没有使用我更新的配置文件 我使用的集群有两个节点,其中一个是主节点。两个节点上的配置文件都将主节点的IP指定为zookeeper仲裁。我认为问题在于没有使用hbase-site.xml中指定的设置,因为如果我通过代码将zookeeper仲裁设置为与hbase-site.xml中相同的值,

我当前正在尝试使我的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来编译代码

理想情况下,我希望集群中的每个节点都使用自己的配置文件


提前谢谢

如果无论您在
hbase site.xml中放置了什么,它都使用默认值,则可能意味着它正被类路径中的另一个文件覆盖。这是非常可能的,因为hbase jar中已经有一个
conf site.xml

要解决此问题,请编辑类路径,在类路径末尾添加包含
hbase site.xml
的目录,以确保没有任何内容覆盖它。比如:

java -cp $CLASSPATH:/usr/lib/hbase/conf path.to.your.Mainclass
如果它变得太模糊,我建议从命令行而不是在Eclipse中运行它,这样您就可以确切地确定类路径中有什么


希望能有所帮助。

谢谢您的回复。您建议我如何从Eclipse中获取相当复杂的项目和库引用集,并将它们合并为您在Linux机器上建议的命令的一部分。有没有办法在Eclipse中编译一半程序,然后执行您建议的命令,将一个基本完成的jar与该类路径添加链接起来?@user1777358您可以通过在命令行中键入
hbase classpath
来找到所需的jar,该命令行应提供您使用hbase所需的所有jar。好的,我想hadoop也是如此。我可能可以查看如何将其他项目链接到compile语句中。我会处理这个。再次感谢。是的,你也可以做hadoop类路径,它会给你所需的jar集。当我需要创建一个shell脚本来运行作业时,我会为我的所有项目执行此操作,到目前为止,它运行得很好。您好@charlesmengay和@Alex Vertlieb,我正在尝试从Scala代码(位于我的windows机上)连接HBase(位于我的windows机上的VM内)。如何在windows计算机的Java类路径中设置
hbase site.xml