Hbase 高可用HA搭建
Posted agent9527
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hbase 高可用HA搭建相关的知识,希望对你有一定的参考价值。
一.集群规划
Master | Slave1 | Slave2 | Slave3 | |
二.Hbase(HA)搭建
# tar -zxvf hbase-1.2.4-bin.tar.gz -C /usr/local/ 解压 # mv /usr/local/hbase-1.2.4 /usr/local/hbase 改名 # vim /etc/profile 添加环境变量 export HBASE_HOME=/usr/local/hbase export PATH=$PATH:$HBASE_HOME/bin # source /etc/profile 生效环境变量 # hbase version 验证是否成功安装HBase # cd /usr/local/hbase/conf/ 进入conf配置文件 # vim hbase-env.sh 配置1添加如下 export JAVA_HOME=/usr/java/jdk1.8.0_221 jdk目录 # vim hbase-site.xml 配置2在<configuration> </configuration>间添加 <!-- 这目录是 RegionServer 的共享目录,用来持久化 HBase。特别注意的是 hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。 --> <property> <name>hbase.rootdir</name> <value>hdfs://myha01/</value> </property> <!-- HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。若为 false,HBase 和 ZooKeeper 会运行在同一个 JVM 中。 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 如果只设置单个 Hmaster,那么 hbase.master 属性参数需要设置为 master5:60000 (主机名:60000)。如果要设置多个 Hmaster,那么我们只需要提供端口 60000,因为选择真正的 master 的事情会有 zookeeper 去处理 --> <property> <name>hbase.master</name> <value>60000</value> </property> <!-- 本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除) --> <property> <name>hbase.tmp.dir</name> <value>/usr/local/hbase/data/hbase-tmp</value> </property> <!-- 对于 ZooKeeper 的配置。至少要在 hbase.zookeeper.quorum 参数中列出全部的 ZooKeeper 的主机,用逗号隔开。该属性值的默认值为 localhost,这个值显然不能用于分布式应用中。 --> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <!-- 设置 ZooKeeper 快照的存储位置 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper/data</value> </property> <!-- 客户端连接 ZooKeeper 的端口 --> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <!-- ZooKeeper 会话超时 --> <property> <name>zookeeper.session.timeout</name> <value>120000</value> </property> <!-- 当 regionserver 遇到 ZooKeeper session expired , regionserver 将选择 restart 而不是 abort。 --> <property> <name>hbase.regionserver.restart.on.zk.expire</name> <value>true</value> </property> # vim regionservers 配置3 部署Regionserver master slave1 slave2 slave3
# Hbase依赖Hadoop。jar包版本得与Hbase版本jar包对应不然会报版本兼容问题。
# cd /usr/local/hbase/lib/ 进入lib目录 # ll hadoop-* 查看Hbase jar包版本 # cd /usr/local/hadoop/share/hadoop/common/ 进入hadoop的common目录 # ll hadoop-* 查看Hadoop jar包版本
# cp /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.7.jar $PWD 在Hbase/lib/目录下执行
# mv /usr/local/hbase/lib/slf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bak 移除 HBase 不必要 log4j 的 jar 包;不移除后续会有警告。比较烦。
以上是关于Hbase 高可用HA搭建的主要内容,如果未能解决你的问题,请参考以下文章
基于Docker的Zookeeper+Hadoop(HA)+hbase(HA)搭建
HA高可用+hive+hbase+sqoop+kafka+flume+spark安装部署
最新Hadoop-2.7.2+hbase-1.2.0+zookeeper-3.4.8 HA高可用集群配置安装
SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端Eureka 服务信息Eureka 发现管理Eureka 安全配置Eureka-HA(高可用) 机制Eur(代码片段