在 hbase 配置过程中,碰到了一个问题,搞了一天。终于搞定了。
原因在于:
hbase-site.xml 的配置信息
<span style="white-space:pre"> </span><property>
<name>hbase.rootdir</name>
<value>hdfs://ubuntu1:9000/hbase</value>
<description>必须和 hadoop/conf/../hdfs-site.xml 中 default.fs 的value 一致</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper/zookeeper-3.4.6/conf/</value>
<description>必须和 zookeeper/conf/zoo.cfg 中的 "dateDir=/usr/local/zookeeper/zookeeper-3.4.6/conf" 一致(正是这个问题,搞了一天)</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>ubuntu1,ubuntu2,ubuntu3</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
<description>Property fromZooKeeper's config zoo.cfg.
The port at which the clients willconnect.这个是否需要和 zookeeper/conf/zoo.cfg中 "clientPort=2181" 一致还有试验,猜想需要
</description>
</property>
当然还需要,将Hadoop 中的包替换 Hbase 中的 以 hadoop 打头的包
ls lib | grep ^hadoop // 列出hbase/../lib 中以 hadoop 打头的包
find /usr/local/hadoop/hadoop-2.2.0/share/hadoop -name "hadoop*jar" | xargs -i cp {} /usr/local/hbase/hbase-0.96.0-hadoop2/lib/ // 找到hadoop/lib/中 hadoop 打头的包