我的 hadoop-1.2.1 在 Linux Mint 上正常工作。
我想添加 Apache HBase 0.94。
我只有一台机器处于伪分布式模式。
我当前的 hbase-site.xml 如下所示:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:54310</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user/hbase/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
我尝试使用 start-hbase.sh 启动,但没有成功,因为 HBASE shell 找不到 Zookeeper。
接下来我尝试单独启动zookeeper
./hbase-daemon.sh start zookeeper
我等到日志显示zookeeper已正确启动,然后我尝试启动master
./hbase-daemon.sh start master
但主站的日志显示:
2013-12-23 11:23:45,028 ERROR org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2106)
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:152)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:104)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2120)
Caused by: java.net.BindException: Cannot assign requested address
最佳答案
分布式 Apache HBase 安装依赖于正在运行的 ZooKeeper 集群。它将作为 HBase 启动/停止过程的一部分启动和停止 ZooKeeper 整体。您还可以独立于 HBase 管理 ZooKeeper 整体,只需将 HBase 指向它应该使用的集群即可。
要切换 ZooKeeper 的 HBase 管理,请使用 conf/hbase-env.sh 中的 HBASE_MANAGES_ZK 变量。该变量默认为 true,告诉 HBase 是否在 HBase 启动/停止过程中启动/停止 ZooKeeper ensemble 服务器。
您可以阅读此link并了解 HBASE 的 Zookeeper 配置。
在您的情况下,您手动启动了zookeeper,然后HBASE也尝试启动自己的zookeeper。这就是为什么无法分配请求的地址
eroor正在到来。
关于linux - 如果我希望我的新 hbase 安装使用 HDFS 来存储数据,我可以使用 hdfs ://localhost:54310 as the hbase. rootdir 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20736625/