HBase完全分布式搭建

节点分布情况

 HBase完全分布式搭建_第1张图片

 (这里把HMaster和NameNode搭建在一个节点,但是实际开发中,别这样做)

前提条件(每个节点)

(1)Java环境变量

(2)时间同步

(3)主从免秘钥

(4)启动hadoop

 

1. 配置hbase-site.xml

        

                hbase.rootdir

                hdfs://mycluster/hbase

        

        

                hbase.cluster.distributed

                true

        

        

                hbase.zookeeper.quorum

                hadoop02,hadoop03,hadoop04

        

 HBase完全分布式搭建_第2张图片

 2. 配置regionservers

 

3. 新建并配置backup-masters

 

4. 把hadoop目录下的hdsf-site.xml文件拷贝到hbase/conf目录下

 

5. 修改hbase-env.sh(java环境配置以及不使用自带的zookeeper)

 

 

6. 分发给hadoop02-04

 

7. 启动

 

 这个时候,如果只启动hbase,会发现master根本没有启动,可以去/hbase/conf/logs看日志:

 HBase完全分布式搭建_第3张图片

[root@hadoop01 logs]# tail -400 hbase-root-master-hadoop01.log

 

通过查看日志可以得出zookeeper集群没有启动。所以再启动hbase之前,需要启动zookeeper。

zookeeper启动后,发现master已经成功启动了

 

在WebUI中查看:

http://hadoop01:60010

直接报错:

 HBase完全分布式搭建_第4张图片

通过再次查看日志:

client.ZooKeeperRegistry: ClusterId read in ZooKeeper is null

client.HConnectionManager$HConnectionImplementation: clusterid came back null, using default default-cluster

说明不仅要启动zookeeper,还要启动hadoop集群,不然找不到集群id,我们在配置hbase中已经指定了集群为mycluster,所以必须要启动这个集群。

 然后很开心的就可以在WebUI中查看了http://hadoop01:60010

 HBase完全分布式搭建_第5张图片

这...

去region server节点查看日志:

org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server hadoop03,60020,1525076798186 has been rejected; Reported time is too far out of sync with master.  Time

difference of 7775993114ms > max allowed of 30000ms

居然时间不同步???

我是用了date -s 设置的时间啊,怎么会不同步?原来是我同步时间的时候没有写年月日只写了时分秒。。。擦,这个低端的错误。

hadoop01节点时间居然是:2018-1-30 16:33:05

 

hadoop03节点时间居然是:2018-4-30 16:32:42,尼玛,正正差了三个月,这能启动才怪了。

 

重新同步一下:

date -s "2018-4-30 16:39:00"

再次启动:

 HBase完全分布式搭建_第6张图片

 

 

 

你可能感兴趣的:(HBase)