HBaseConfiguration don';t读取我在${HBASE_HOME}/conf/HBASE-site.xml中设置的值
${HBASE_HOME}/conf/HBASE-site.xml具有以下值:HBaseConfiguration don';t读取我在${HBASE_HOME}/conf/HBASE-site.xml中设置的值,configuration,hadoop,hbase,Configuration,Hadoop,Hbase,${HBASE_HOME}/conf/HBASE-site.xml具有以下值: <property> <name>hbase.zookeeper.quorum</name> <value>hd1</value> </property> 我得到“localhost”。HBase以分布式模式设置,具有一个主服务器和两个区域服务器。。。所有的conf文件都同步了,我多次重启了所有服务器 有什么我遗漏的吗?要么${HBAS
<property>
<name>hbase.zookeeper.quorum</name>
<value>hd1</value>
</property>
我得到“localhost”。HBase以分布式模式设置,具有一个主服务器和两个区域服务器。。。所有的conf文件都同步了,我多次重启了所有服务器
有什么我遗漏的吗?要么
${HBASE_HOME}/conf/HBASE site.xml
不在类路径中,要么它正被其他conf site.xml
覆盖(很可能是HBASE jar附带的conf site.xml
)
要修复此问题,可以将带有自定义设置的HBase conf目录添加到类路径中,然后使用该类路径调用程序。e、 g,
java-cp:
是关于hbase.jar中的conf-site.xml的。只需在类路径中添加/etc/hbase/conf/就可以解决这个问题。非常感谢这种方法真的很有帮助。谢谢:-)
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
public class TestConfigurator {
/**
* @param args
*/
public static void main(String[] args) {
Configuration conf = HBaseConfiguration.create();
System.out.println("HBase quorum: " + conf.get("hbase.zookeeper.quorum", "localhost"));
}
}