hbase高可用集群搭建
---------------------------------------------
1、客户端如何知道这个数据存在对应的哪个reginserver呢
记录在一张系统表中,hbase:meta 这张表中记录数据与regin的对应关系
1、首先去查找zk 从zk中找到这张表对应的数据
2、取到这张表就可以找到数据对应的主机了
----------------------------------------------------
1.上传hbase安装包
2.解压
3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
3.1修改hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55
//告诉hbase使用外部的zk
export HBASE_MANAGES_ZK=false
3.2 修改hbase-site.xml
vim hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hdp20-01:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hdp20-01:2181,hdp20-02:2181,hdp20-03:2181</value>
</property>
</configuration>
vim regionservers
hdp20-01
hdp20-02
hdp20-03
hdp20-04
3.2拷贝hbase到其他节点
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend02:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend03:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend04:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend05:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend06:/weekend/
4.将配置好的HBase拷贝到每一个节点并同步时间。
date -s '2017-08-08 15:04:30'
hwclock -w
5.启动所有的hbase
首先启动HDFS----查看hdfs集群的状态命令: hdfs dfsadmin -report ## 不能处于safe mode状态
分别启动zk
./zkServer.sh start
检查保证zk工作状态正常: 检查状态的命令: bin/zkServer.sh status
启动hbase集群:利用hbase开发的启动脚本来启动,脚本命令在哪运行,就在哪启动一个master,regionservers文件决定去哪启动region server
启动hbase,在主节点上运行:
start-hbase.sh
6.通过浏览器访问hbase管理页面
192.168.1.201:60010
7.为保证集群的可靠性,要启动多个HMaster
hbase-daemon.sh start master