接下来,我们直接搭建hbase完全分布式
参考 [ http://hbase.apache.org/book.html#fully_dist ]
首先,我们停掉之前搭建的单节点hbase
节点分布配置
服务器 | NN | JN | DN | ZK | ZKFC | RM | HM(HMaster) | HR(HRegionServer) |
---|---|---|---|---|---|---|---|---|
hadoop004 | Y | Y | Y | Y | Y | |||
hadoop001 | Y | Y | Y | Y | Y | Y | ||
hadoop002 | Y | Y | Y | Y | Y | |||
hadoop003 | Y | Y | Y | Y |
ok, 现在开始配置我们的配置文件
1. 修改hbase-env.sh
修改如下这段(上文中提到的)
export HBASE_MANAGES_ZK=false
添加HBASE_CLASSPATH
export HBASE_CLASSPATH=/usr/local/hadoop-2.5.2/etc/hadoop
2. 修改conf/hbase-site.sh
<configuration>
<property>
<name>hbase.rootdir</name>
<!-- 查看${HADOOP_HOME}/etc/hadoop/core-site.xml中的fs.defaultFS -->
<value>hdfs://zyf/hbase</value>
</property>
<property>
<!--使用分布式-->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!--查看${ZK_HOME}/conf/zoo.cfg中的节点设置-->
<name>hbase.zookeeper.quorum</name>
<value>hadoop004,hadoop001,hadoop002</value>
</property>
</configuration>
3. 配置节点
编辑regionservers
,配置如下
hadoop004
hadoop001
hadoop002
4. 配置HMaster备份节点
编辑backup-masters
,没有则创建
hadoop004
hadoop002
5. 启动HBase
确保zookeeper和hdfs都启动着,保险起见可以选择stop-all.sh停掉全部
先启动zookeeper再启动hdfs和yarn再启动hbase
start-hbase.sh
6. jps查看对应节点对应服务是不是都起着
7. 访问http://hadoop004:16010/
看到如下
- 这里不知道为什么hbase节点挂了一个
- 查看了一下,是各个节点的时间没有对应上
- 每个节点执行
sudo ntpdate pool.ntp.org
8. hdfs查看根目录
hdfs dfs -ls /