Hbase集群部署

x33g5p2x  于2021-03-14 发布在 Hbase  
字(3.2k)|赞(0)|评价(0)|浏览(544)

前面已经完成了Hbase的单节点部署,但是只有一个HMaster进程。如果在实际生产环境中只部署一个HMaster进程,当其所在的节点宕机或出现其他异常情况时,整个Hbase将不能对外提供任何服务。Hbase可以以集群的方式对外提供服务,即可以部署多对HMaster,类似HDFS NameNode,当HMaster主节点出现故障时,HMaster的备用节点会通过Zookeeper获取主HMaster存储的整个Hbase集群中的状态信息。而且HMaster可以通过Zookeeper随时感知各个HRegionServer的状况,以便控制管理它。

[warning] 实验环境:完全分布式环境

[info] (1)上传Hbase包(hbase-1.3.1-bin.tar.gz)至 /data/software

[info] (2)hbase-1.3.1-bin.tar.gz 解压到 /data/module

# 1.进入到/data/software
cd /data/software
 
# 2.解压到 /data/module
tar -zxvf hbase-1.3.1-bin.tar.gz -C /data/module

[info] (3)hbase-env.sh 配置JDK环境变量

# 1.进入Hbase配置文件目录:/data/module/hbase-1.3.1/conf
cd /data/module/hbase-1.3.1/conf

# 2.打开 hbase-env.sh
vi hbase-env.sh

# 3.添加JDK环境变量
export JAVA_HOME=/data/module/jdk1.8.0_144

# 4.告诉hbase使用外部的zk,将值设置为false
export HBASE_MANAGES_ZK=false

:-:

[info] (4)hbase-site.xml 配置文件

# 原始配置文件
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://HDFS实例/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>主机名1:2181,主机名2:2181,主机名3:2181</value>
</property>

# 修改后的配置文件
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://lingnan/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>bigdata1:2181,bigdata2:2181,bigdata3:2181</value>
</property>

:-:

[info] (4)修改 regionservers文件

# 1.打开 regionservers 文件
vi regionservers

# 2.将regionservers文件内容修改为:
bigdata1
bigdata2
bigdata3

:-:

[info] (5)修改 backup-masters来指定备用的主节点

# 1.编辑backup-masters
vi backup-masters

# 2.指定bigdata2为备用的主节点
bigdata2

[info] (6)拷贝Hadoop的 hdfs-site.xml 和 core-site.xml 到habase中去

# 1.进入Hadoop配置文件目录
cd /data/module/hadoop-2.7.3/etc/hadoop

# 2.拷贝hdfs-site.xml和core-site.xml 到 hbase/conf
cp hdfs-site.xml /data/module/hbase-1.3.1/conf
cp core-site.xml /data/module/hbase-1.3.1/conf

# 3.配置说明
因为Hbase底层依赖HDFS,因此,需要配置两个与Hadoop相关的文件hdfs-site.xml
和core-site.xml,可直接将Hadoop配置文件中的hdfs-site.xml和core-site.xml
拷贝到hbase/conf下

:-:

[info] (7)配置Hbase全局环境变量

# 1.打开配置文件
vi /etc/profile

# 2.增加以下配置
export HBASE_HOME=/data/module/hbase-1.3.1
export HBASE_CONF_DIR=$HBASE_HOME/conf  
export HBASE_CLASS_PATH=$HBASE_CONF_DIR  
export PATH=$PATH:$HBASE_HOME/bin

# 3.重新加载一下配置文件
source /etc/profile

:-:

[info] (8)将hbase的安装包拷贝到 bigdata2 和 bigdata3

# 1.进入 /data/module
cd /data/module

# 2.拷贝包到 bigdata2 和 bigdata3
scp -r hbase-1.3.1 192.168.46.112:/data/module
scp -r hbase-1.3.1 192.168.46.113:/data/module

[info] (9)配置 bigdata2 和 bigdata3 的Hbase全局环境变量

# 1.打开配置文件
vi /etc/profile

# 2.增加以下配置
export HBASE_HOME=/data/module/hbase-1.3.1
export HBASE_CONF_DIR=$HBASE_HOME/conf  
export HBASE_CLASS_PATH=$HBASE_CONF_DIR  
export PATH=$PATH:$HBASE_HOME/bin

# 3.重新加载一下配置文件
source /etc/profile

[info] (10)集群启动

#注意:Hbase集群启动是有先后顺序的,需要先启动Zookeeper集群,然后启动HDFS集群
最后再启动Hbase集群

# 1.在三台机器分别启动Zookeeper
zkServer.sh start

# 2.在bigdata1启动HDFS,集群会联动开启另外两台机器的HDFS
start-dfs.sh

# 3.在bigdata1启动Hbase,另外两台机器会联动开启Hbase的进程
start-hbase.sh

[info] (11)调试界面

:-:

:-:

相关文章

微信公众号