Zookeeper:HBase 通过 Zookeeper 来做 master 的高可用、记录 RegionServer 的部署信息、并且存储 有 meta 表的位置信息 。HBase 对于数据的读写操作时直接访问 Zookeeper 的,在 2.3 版本推出 Master Registry 模式,客户端可以直接访问 master 。使用此功能,会加大对 master 的压力,减轻对 Zookeeper 的压力 。
HDFS:HDFS 为 Hbase 提供最终的底层数据存储服务,同时为 HBase 提供高容错的支持 。
安装前置条件
- Zookeeper(使用前面文章已部署集群)
- HDFS(使用前面文章已部署集群)
部署# 下载最新版本HBasewget --no-check-certificate https://dlcdn.apache.org/hbase/2.5.0/hbase-2.5.0-bin.tar.gz# 解压tar -xvf hbase-2.5.0-bin.tar.gz# 进入目录cd hbase-2.5.0# 配置环境变量vim /etc/profileexport HBASE_HOME=/home/commons/hbase-2.5.0export PATH=$HBASE_HOME/bin:$PATH# 将配置文件分发到另外两台节点上scp /etc/profile hadoop2:/etc/scp /etc/profile hadoop3:/etc/# 在三台上执行环境变量生成命令source /etc/profile# 修改conf目录下配置文件hbase-env.sh , vim conf/hbase-env.sh# false 取消 不需要自己管理实例 用zookeeperexport HBASE_MANAGES_ZK=false# 声明JAVA_HOMEexport JAVA_HOME=/home/commons/jdk8# HBase的jar包和Hadoop的jar包有冲突,导致服务没有起来,报错如object is not an instance of declaring class可以配置这个export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
- 修改conf目录下配置文件vim conf/hbase-site.xml
##修改, <property> <name>hbase.cluster.distributed</name> <value>true</value> </property>##去掉 <property> <name>hbase.tmp.dir</name> <value>./tmp</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>##增加 <property> <name>hbase.zookeeper.quorum</name> <value>zk1,zk2,zk3</value> <description>The directory shared by RegionServers. </description> </property><!-- <property>--><!-- <name>hbase.zookeeper.property.dataDir</name>--><!-- <value>/export/zookeeper</value>--><!-- <description> 记得修改 ZK 的配置文件 --><!-- ZK 的信息不能保存到临时文件夹--><!-- </description>--><!-- </property>--> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop2:9000/hbase</value> <!--8020这个端口号,要跟hadoop的NameNode一样--> <description>The directory shared by RegionServers. </description> </property>
- 修改regionservers配置vim conf/regionservers
hadoop1hadoop2hadoop3
- 将Hadoop的配置文件core-site.xml和hdfs-site.xml拷贝到HBase的conf目录下
cp /home/commons/hadoop/etc/hadoop/core-site.xml conf/cp /home/commons/hadoop/etc/hadoop/hdfs-site.xml conf/
scp -r /home/commons/hbase-2.5.0 hadoop2:/home/commonsscp -r /home/commons/hbase-2.5.0 hadoop3:/home/commons启动服务# 单点启动bin/hbase-daemon.sh start masterbin/hbase-daemon.sh start regionserver# 群启bin/start-hbase.sh# 停止服务bin/stop-hbase.sh群启后查看服务进程
![大数据技术之HBase原理与实战归纳分享-上](http://img.zhejianglong.com/231018/05494U051-3.png)
文章插图
启动成功后,可以通过“host:port”的方式来访问 HBase 管理页面 , http://hadoop1:16010
![大数据技术之HBase原理与实战归纳分享-上](http://img.zhejianglong.com/231018/05494T3K-4.png)
文章插图
高可用在 HBase 中 HMaster 负责监控 HRegionServer 的生命周期,均衡 RegionServer 的负载 , 如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不 会维持太久 。所以 HBase 支持对 HMaster 的高可用配置 。
# 先关闭上面启动的HBase集群bin/stop-hbase.sh# 在 conf 目录下创建 backup-masters 文件touch conf/backup-masters# 在 backup-masters 文件中配置高可用 HMaster 节点echo hadoop2 > conf/backup-masters# 将conf/backup-masters scp 到其他节点scp /home/commons/hbase-2.5.0/conf/backup-masters hadoop2:/home/commons/hbase-2.5.0/confscp /home/commons/hbase-2.5.0/conf/backup-masters hadoop3:/home/commons/hbase-2.5.0/conf# 重启 hbasebin/start-hbase.sh
推荐阅读
-
-
-
-
-
-
-
关于洛阳昊远机械设备有限公司简述 洛阳昊远机械设备有限公司
-
-
-
-
etc不抬杆可以倒回吗 etc不抬杆可以倒回会被扣分吗
-
-
-
-
-
-
-
-
-