(二)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 包;不移除后续会有警告。比较烦。




 
 


 
  
 

猜你喜欢

转载自www.cnblogs.com/Agent9527/p/13207304.html