(13)HBase 1.2.6 集群部署

时间:2021-12-08 14:07:39

1.引言

      在前面的博客中我们介绍HBase的伪分布安装,在本篇博客中就主要介绍一下HBase的集群部署,由于HBase是一款Hadoop之上的NoSQL数据库,因此我们在安装HBase之前需要首先部署Hadoop的集群,其次HBase需要使用zookeeper进行管理,因此我们也需要搭建zookeeper集群,在本篇博客主要搭建的集群有:

  • zookeeper集群
  • Hadoop集群(由于在本篇博客中,博主配置了hadoop的自动切换NameNode,因此配置Hadoop集群之前需要配置zookeeper
  • Hbase集群

在本篇博客中使用到的环境有:

  • 操作系统为:Centos6.7
  • jdk的版本为:1.7
  • jdk的安装路径为:/usr/local/jdk
  • hadoop的版本为:2.6.1
  • hadoop的安装路径为:/usr/local/hadoop
  • zookeeper的版本为:3.4.9
  • zookeeper的安装路径为:/usr/local/zookeeper
  • hbase的版本为:1.2.6
  • hbase的安装路径为:/usr/local/hbase
  • 使用root用户进行集群搭建

      接下来我将按照下表进行搭建Hadoop集群:

HOST名称 ip地址 运行的进程
hadoop1 192.168.159.130 NameNode,ResourceManger,JournalNode,QuorumPeerMain,DFSZKFailoverController,HMaster
hadoop2 192.168.159.131 NameNode,JournalNode,QuorumPeerMain,DFSZKFailoverController
hadoop3 192.168.159.132 DataNode,NodeManger,JournalNode,QuorumPeerMain,HRegionServer
hadoop4 192.168.159.133 DataNode,NodeManger,HRegionServer
hadoop5 192.168.159.134 DataNode,NodeManger,HRegionServer

2. 搭建Hadoop集群

      如何搭建Hadoop自动切换NameNode的集群,请参考链接:Hadoop 2.6.1 集群部署—自动切换HA
      在上面的链接中介绍了如何搭建zookeeper集群和hadoop集群,搭建完成后,实现了以下表格的内容,因此接下来我们只需要在此基础上搭建HBase集群即可。

HOST名称 ip地址 运行的进程
hadoop1 192.168.159.130 NameNode,ResourceManger,JournalNode,QuorumPeerMain,DFSZKFailoverController
hadoop2 192.168.159.131 NameNode,JournalNode,QuorumPeerMain,DFSZKFailoverController
hadoop3 192.168.159.132 DataNode,NodeManger,JournalNode,QuorumPeerMain
hadoop4 192.168.159.133 DataNode,NodeManger
hadoop5 192.168.159.134 DataNode,NodeManger

3. 搭建HBase集群

3.1 解压HBase并改名

//解压HBase安装包
tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local/
//进入/usr/local/目录
cd /usr/local/
//修改文件夹名称
mv hbase-1.2.6 hbase

3.2 修改配置

  • 修改配置文件conf/hbase-env.sh
//编辑conf/hbase-env.sh配置文件
vim conf/hbase-env.sh
//修改的配置文件内容
export JAVA_HOME=/usr/local/jdk
export HBASE_MANAGES_ZK=false
//备注:命令行模式下,输入“/HBASE_MANAGES_ZK”可查找HBASE_MANAGES_ZK的位置
  • 修改配置文件conf/hbase-site.xml
<!-- hbase.rootdir 代表了hbase在hadoop的地址 value:因为我们配置了hadoop的HA,所以添加集群的逻辑名cluster1,如果没有配置HA,写绝对名称,比如:hdfs://hadoop1:9000/hbase hbase.cluster.distributed hbase的部署模式 value:因为我们是分布式,所以选择true hbase.zookeeper.quorum hbase需要zookeeper调度,设置zookeeper的地址 value:需要和自己情况对应,我的为:hadoop1,hadoop2,hadoop3 -->
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://cluster1/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
</configuration>

(13)HBase 1.2.6 集群部署

  • hadoopHA配置拷贝到conf目录下面(如果 hadoop未配置HA,就不需要此步骤)
//将hadoop的hdfs-site.xml拷贝到hbase的conf下面
cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/hbase/conf/
//将hadoop的core-site.xml拷贝到hbase的conf下面
cp /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/hbase/conf/
  • 编辑配置文件regionservers
//编辑文件regionservers 
vim regionservers 
//编辑内容如下:
hadoop3
hadoop4
hadoop5

(13)HBase 1.2.6 集群部署

  • hbase分发到hadoop3,hadoop4,hadoop5节点
scp -rq /usr/local/hbase hadoop3:/usr/local
scp -rq /usr/local/hbase hadoop4:/usr/local
scp -rq /usr/local/hbase hadoop5:/usr/local

(13)HBase 1.2.6 集群部署

3.3 启动hbase集群

  • 命令启动hbase集群
//启动集群之前,首先保证hdfs进程和zookeeper进程启动正常
bin/start-hbase.sh

(13)HBase 1.2.6 集群部署

(13)HBase 1.2.6 集群部署