Hbase 完全分布式+高可用 集群搭建
说在前面工作环境:VMware® Workstation 12 Pro 12.5.6 build-5528349linux版本:CentOS-7-x86_64-Minimal-1611.isoJDK版本:jdk-8u65-linux-x64.tar.gzHadoop版本:hadoop-2.7.6.tar.gzZookeeper版本:zookeeper-3.4.12.tar.g...
说在前面
- 工作环境:VMware® Workstation 12 Pro 12.5.6 build-5528349
- linux版本:CentOS-7-x86_64-Minimal-1611.iso
- JDK版本:jdk-8u65-linux-x64.tar.gz
- Hadoop版本:hadoop-2.7.6.tar.gz
- Zookeeper版本:zookeeper-3.4.12.tar.gz
- hbase版本:hbase-1.2.6-bin.tar.gz
环境准备
- 四台主机(s201, s202, s203, s204)
MasterServer
[s201] 192.168.32.201
Region server
[s202] 192.168.32.202
[s203] 192.168.32.203
[s204] 192.168.32.204
-
基于ZooKeeper集群的环境搭建
https://blog.csdn.net/king123456man/article/details/81739930
安装配置hbase
- 解压hbase-1.2.6-bin.tar.gz,创建符号链接(s201),分发给其他主机(s202, s203, s204)
//解压到 /soft 目录下
$> tar -xzvf /mnt/hgfs/bigdata/soft/hbase-1.2.6-bin.tar.gz -C/soft
//创建符号链接
$> ln -s /soft/hbase-1.2.6/ hbase
//分发给其他三台主机
$> scp -r hbase-1.2.6 centosmin0@s202:/soft/
$> scp -r hbase-1.2.6 centosmin0@s203:/soft/
$> scp -r hbase-1.2.6 centosmin0@s204:/soft/
export HBASE_MANAGES_ZK=true
- 配置环境变量,立即生效:source profile
$> sudo nano /etc/profile
# hbase
export HBASE_HOME=/soft/hbase
export PATH=$PATH:$HBASE_HOME/bin
- 查看是否安装成功
$> hbase version
完全分布式集群搭建
每台主机都需要相同的配置,下面以s201主机为例进行配置,s201是master节点
- 配置 /soft/hbase/conf/hbase-env.sh和 /soft/hbase/conf/regionservers
$> nano /soft/hbase/conf/hbase-env.sh
export JAVA_HOME=/soft/jdk
export HBASE_MANAGES_ZK=false
//在master节点(s201)配置:
export HBASE_PID_DIR=/home/centosmin0/hbase/pids
$> nano /soft/hbase/conf/regionservers
//Region server
s202
s203
s204
- 配置 /soft/hbase/conf/hbase-site.xml 文件
$> nano /soft/hbase/conf/hbase-site.xml
<!-- 使用完全分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定hbase数据在hdfs上的存放路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://s201:8020/hbase</value>
</property>
<!-- 配置zk地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>s201:2181,s202:2181,s203:2181</value>
</property>
<!-- zk的本地目录 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/centos/zookeeper</value>
</property>
- 启动hbase集群
注意:在启动hbase集群前,应该保证Master所在主机的namenode启动,并保证为激活状态。否则会报异常:Operation category READ is not supported in state standby
$> start-dfs.sh
$> zkServer.sh start
$> start-hbase.sh
- 在web端查看:192.168.32.201:16010
- hbase基本命令
//启动HBase集群:
$> start-hbase.sh
//单独启动一个HMaster进程:
$> hbase-daemon.sh start master
//单独停止一个HMaster进程:
$> hbase-daemon.sh stop master
//单独启动一个HRegionServer进程:
$> hbase-daemon.sh start regionserver
//单独停止一个HRegionServer进程:
$> hbase-daemon.sh stop regionserver
//进入hbase shell
$> hbase shell
高可用集群搭建
Hbase依赖于hadoop进行文件存储,依赖于ZooKeeper进行容灾处理。Hbase内部也整合了ZooKeeper,可以在 /hbase/conf/hbase-env.sh 中进行修改,使用内嵌的ZooKeeper进行HA管理。本文档使用外部配置的ZooKeeper进行管理。
hbase高可用集群:s201,s202,s203,s204。如下以 s201 主机进行修改配置,其他节点配置相同。
-
使用ZooKeeper搭建好高可用集群
https://blog.csdn.net/king123456man/article/details/81739930
-
修改 /soft/hbase/conf/hbase-env.sh 配置文件
$> nano /soft/hbase/conf/hbase-env.sh
//找到如下配置进行修改
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/soft/hadoop/etc/hadoop
- 在 /soft/hbase/conf/ 目录下创建到hadoop的hdfs-site.xml符号连接
$>ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/hdfs-site.xml
- 修改hbase-site.xml文件中的 hbase.rootdir
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
- 将以上修改的文件均分发给其他三台主机(s202,s203,s204)
参考
更多推荐
所有评论(0)