一、部署规划

hadoop高可用集群部署参考: Hadoop3.X分布式高可用集群部署

1.1 版本说明

软件 版本
操作系统 CentOS Linux release 7.8.2003 (Core)
JAVA jdk-8u271-linux-x64
Hadoop hadoop-3.2.2
Hbase hbase-2.3.6

1.2 集群规划

hostname IP 组件
master 172.16.20.200 NameNode Hbase-HMaster
secondmaster 172.16.20.201 NameNode Hbase-HMaster
slave1 172.16.20.202 Zookeeper DataNode NodeManage Hbase-HRegionServer
slave2 172.16.20.203 Zookeeper DataNode NodeManage Hbase-HRegionServer
slave3 172.16.20.204 Zookeeper DataNode NodeManage Hbase-HRegionServer

二、Hbase集群部署

2.1 下载解压

下载地址: https://archive.apache.org/dist/hbase/2.3.6/hbase-2.3.6-bin.tar.gz

1
2
tar -zxf hbase-2.3.6-bin.tar.gz -C /opt/hadoop/
ln -s /opt/hadoop/hbase-2.3.6 /usr/local/hbase

各节点配置环境变量, /etc/profie下加入

1
2
3
4
5
6
7
8
cat >> /etc/profile << 'EOF'
#HBASE
HBASE_HOME=/usr/local/hbase
PATH=$HBASE_HOME/bin:$PATH
export PATH HBASE_HOME

EOF
source /etc/profile

2.2 修改配置

1
cd $HBASE_HOME/conf

hbase-env.sh

1
2
3
4
cat > hbase-env.sh << 'EOF'
export JAVA_HOME=/usr/java/jdk1.8/jdk1.8.0_271
export HBASE_MANAGES_ZK=false
EOF

export HBASE_MANAGES_ZK=false #指定不使用hbase自带的zookeeper

hbase-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat > hbase-site.xml << 'EOF'
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<!-- 指定 hbase在HDFS上存储的路径, mycluster为hdfs的nameservice名称-->
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<property>
<!-- 指定 hbase 是分布式的 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- 指定 zk 的地址,多个用“,”分割 -->
<name>hbase.zookeeper.quorum</name>
<value>slave1:2181,slave2:2181,slave3:2181</value>
</property>
</configuration>
EOF

指定访问端口

1
2
3
4
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>

regionservers

1
2
3
4
5
6
7
cat > regionservers << EOF
master
secondmaster
slave1
slave2
slave3
EOF

backup-masters

1
2
3
cat > backup-masters << EOF
secondmaster
EOF

拷贝hadoop核心配置

1
2
cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf/
cp $HADOOP_HOME/etc/hadoop/core-site.xml $HBASE_HOME/conf/

2.3 同步配置

1
2
3
4
rsync -av /opt/hadoop/hbase-2.3.6 root@sm:/opt/hadoop/
rsync -av /opt/hadoop/hbase-2.3.6 root@s1:/opt/hadoop/
rsync -av /opt/hadoop/hbase-2.3.6 root@s2:/opt/hadoop/
rsync -av /opt/hadoop/hbase-2.3.6 root@s3:/opt/hadoop/

并在节点上创建软连接

1
ln -s /opt/hadoop/hbase-2.3.6 /usr/local/hbase

2.4 启动

master节点集群方式启/停hbase集群

1
2
$HBASE_HOME/bin/start-hbase.sh
$HBASE_HOME/bin/stop-hbase.sh

单节点手动启动方式

1
2
hbase-daemon.sh start master
hbase-daemon.sh start regionserver

四、验证启动状态

5.1 命令查看

查看zk数据

1
2
3
zkCli.sh
ls /hbase
[backup-masters, draining, hbaseid, master, master-maintenance, rs, splitWAL, table]

JPS查看

master节点

1
2
// JPS命令查看
15928 HMaster

slave节点

1
2
// JPS命令查看
14425 HRegionServer

5.2 web页面查看

访问master和secondmaster的16010端口, 查看hbase主页

五、高可用验证

停止master节点Master进程, 访问secondmaster的spark页面,查看状态是否切换为ALIVE