当前位置: 代码迷 >> 综合 >> 【HBase】安装HBase集群(3台主机)
  详细解决方案

【HBase】安装HBase集群(3台主机)

热度:39   发布时间:2023-11-01 02:38:37.0

HBase的安装

1. 解压

将下载好的HBase文件上传到Hadoop集群中的master节点

tar -zxvf hbase-1.3.1-bin.tar.gz  -C /home/hadoop/

2. 修改HBase的配置文件

(1)修改hbase-env.sh文件

新增四项配置

export HBASE_CLASSPATH=/home/hadoop/hadoop-2.6.5/etc/hadoop
export HBASE_PID_DIR=/home/hadoop/hbase-1.3.1/pids
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export HBASE_MANAGES_ZK=false

一个分布式运行的HBase依赖一个Zookeeper集群,所有的节点和客户端都必须能够访问Zookeeper。默认的情况下HBase会管理一个Zookeep集群,即HBase默认自带一个Zookeep集群,这个集群会随着HBase的启动而启动。而在实际的商业项目中通常自己管理一个Zookeeper集群更便于优化配置提高集群工作效率,但需要配置HBase。需要修改conf/hbase-env.sh里面的HBASE_MANAGES_ZK来切换,这个值默认是true,作用是让HBase启动的时候同时也启动Zookeeper。在安装过程中,采用独立运行Zookeeper集群的方式,故将其属性值改为false。

(2)修改regionservers文件

regionservers文件负责配置HBase集群中哪台节点做RegionServer服务器,本书的规划是所有slave节点均可当RegionServer服务器,故其配置内容为:

slave1
slave2
(3)修改hbase-site.xml文件

hbase-site.xml文件内容修改为:

<property><name>hbase.rootdir</name><value>hdfs://master:9000/hbase</value>
</property>
<property> <name>hbase.master</name> <value>hdfs://master:60000</value> 
</property> 
<property><name>hbase.zookeeper.property.dataDir</name><value>/home/hadoop/zookeeper-3.4.5/data</value>
</property>
<property><name>hbase.cluster.distributed</name><value>true</value>
</property>
<property><name>hbase.zookeeper.quorum</name><value>master,slave1,slave2</value>
</property>
<property><name>hbase.zookeeper.property.clientPort</name><value>2181</value>
</property>
<property><name>hbase.master.info.port</name><value>60010</value>
</property>

注意:hbase.zookeeper.quorum用来设置HBase集群中哪些节点安装了ZooKeeper,只能设置为主机名而不是IP地址。HBase1.0 以后的版本,需要手动配置Web访问端口号60010。

(4)分发到slave1和slave2节点
scp -r /home/hadoop/hbase-1.3.1/ slave1:/home/hadoop/
scp -r /home/hadoop/hbase-1.3.1/ slave2:/home/hadoop/

3. 修改三个节点的环境变量

在/etc/profile文件末尾添加

export PATH=$PATH:/home/hadoop/hbase-1.3.1/bin

并执行命令"source /etc/profile"使配置的环境变量生效。

4. 测试

在master节点运行start-hbase.sh,将HBase集群启动,可以通过jps或查看运行状况。master节点存在HMaster进程,如图4-7所示:
在这里插入图片描述

图4-7 master节点jps信息
slave1和slave2存在HRegionServer进程,如图4-8,4-9所示:
在这里插入图片描述

图4-8 slave1节点jps信息
在这里插入图片描述

图4-9 slave2节点jps信息
通过浏览器访问地址http://master:60010/master-status,可以看到整个HBase集群的状态,如图4-10所示:
在这里插入图片描述

图4-10 HBase master节点Web
在master节点,使用命令"hbase-daemon.sh stop master",等待一会发现slave1成为master,当HBase的master节点故障后,ZooKeeper会从备份中自动推选一个作为master,如图4-11所示:
在这里插入图片描述

图4-11 HBase slave节点Web