欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hbase 完全分布式+高可用 集群搭建

程序员文章站 2022-05-23 08:33:21
...

说在前面
  • 工作环境:VMware® Workstation 12 Pro 12.5.6 build-5528349
  • linux版本:CentOS-7-x86_64-Minimal-1611.iso
  • JDK版本:jdk-8u65-linux-x64.tar.gz
  • Hadoop版本:hadoop-2.7.6.tar.gz
  • Zookeeper版本:zookeeper-3.4.12.tar.gz
  • hbase版本:hbase-1.2.6-bin.tar.gz
环境准备
  • 四台主机(s201, s202, s203, s204)
MasterServer
[s201] 192.168.32.201 

Region server
[s202] 192.168.32.202
[s203] 192.168.32.203
[s204] 192.168.32.204
安装配置hbase
  • 解压hbase-1.2.6-bin.tar.gz,创建符号链接(s201),分发给其他主机(s202, s203, s204)
//解压到 /soft 目录下
$> tar -xzvf /mnt/hgfs/bigdata/soft/hbase-1.2.6-bin.tar.gz -C/soft

//创建符号链接
$> ln -s /soft/hbase-1.2.6/ hbase

//分发给其他三台主机
$> scp -r hbase-1.2.6 centosmin0@s202:/soft/
$> scp -r hbase-1.2.6 centosmin0@s203:/soft/
$> scp -r hbase-1.2.6 centosmin0@s204:/soft/

export HBASE_MANAGES_ZK=true
  • 配置环境变量,立即生效:source profile
$> sudo nano /etc/profile

# hbase
export HBASE_HOME=/soft/hbase
export PATH=$PATH:$HBASE_HOME/bin
  • 查看是否安装成功
$> hbase version

Hbase 完全分布式+高可用 集群搭建

完全分布式集群搭建

每台主机都需要相同的配置,下面以s201主机为例进行配置,s201是master节点

  • 配置 /soft/hbase/conf/hbase-env.sh和 /soft/hbase/conf/regionservers
$> nano /soft/hbase/conf/hbase-env.sh 

export JAVA_HOME=/soft/jdk
export HBASE_MANAGES_ZK=false

//在master节点(s201)配置:
export HBASE_PID_DIR=/home/centosmin0/hbase/pids

$> nano /soft/hbase/conf/regionservers

//Region server
s202
s203
s204
  • 配置 /soft/hbase/conf/hbase-site.xml 文件
$> nano /soft/hbase/conf/hbase-site.xml

<!-- 使用完全分布式 -->
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

<!-- 指定hbase数据在hdfs上的存放路径 -->
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://s201:8020/hbase</value>
</property>
<!-- 配置zk地址 -->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>s201:2181,s202:2181,s203:2181</value>
</property>
<!-- zk的本地目录 -->
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/centos/zookeeper</value>
</property>
  • 启动hbase集群

注意:在启动hbase集群前,应该保证Master所在主机的namenode启动,并保证为**状态。否则会报异常:Operation category READ is not supported in state standby

$> start-dfs.sh
$> zkServer.sh start
$> start-hbase.sh

Hbase 完全分布式+高可用 集群搭建

Hbase 完全分布式+高可用 集群搭建

  • 在web端查看:192.168.32.201:16010

Hbase 完全分布式+高可用 集群搭建

  • hbase基本命令
//启动HBase集群:
$> start-hbase.sh

//单独启动一个HMaster进程:
$> hbase-daemon.sh start master

//单独停止一个HMaster进程:
$> hbase-daemon.sh stop master

//单独启动一个HRegionServer进程:
$> hbase-daemon.sh start regionserver

//单独停止一个HRegionServer进程:
$> hbase-daemon.sh stop regionserver

//进入hbase shell
$> hbase shell
高可用集群搭建

Hbase依赖于hadoop进行文件存储,依赖于ZooKeeper进行容灾处理。Hbase内部也整合了ZooKeeper,可以在 /hbase/conf/hbase-env.sh 中进行修改,使用内嵌的ZooKeeper进行HA管理。本文档使用外部配置的ZooKeeper进行管理。

hbase高可用集群:s201,s202,s203,s204。如下以 s201 主机进行修改配置,其他节点配置相同。

$> nano /soft/hbase/conf/hbase-env.sh

//找到如下配置进行修改
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/soft/hadoop/etc/hadoop
  • 在 /soft/hbase/conf/ 目录下创建到hadoop的hdfs-site.xml符号连接
$>ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/hdfs-site.xml
  • 修改hbase-site.xml文件中的 hbase.rootdir
<property>
        <name>hbase.rootdir</name>
        <value>hdfs://mycluster/hbase</value>
</property>
  • 将以上修改的文件均分发给其他三台主机(s202,s203,s204)
参考
相关标签: hbase