OpenEuler部署HBase分布式集群
OpenEuler部署HBase分布式集群
一 、前期准备
环境准备:
-
三台Linux主机(OpenEuler-24.03-LTS-SP2)
-
JDK 1.8
-
Hadoop完全分布式集群
-
ZooKeeper完全分布式集群
HBase集群规划
| node1 | node2 | node3 |
|---|---|---|
| Master | Backup Master | |
| RegionServer | RegionServer | RegionServer |
版本匹配查询
HBase与JDK版本
https://hbase.apache.org/book.html#java

HBase与Hadoop版本
https://hbase.apache.org/book.html#hbase.versioning

综合来看,HBase2.4.x对JDK8和Hadoop3.3.4都兼容,具体选择HBase 2.4.18。
二、HBase 分布式集群部署
2.1 安装HBase
- 下载HBase,浏览器访问如下地址下载HBase安装包
https://archive.apache.org/dist/hbase/2.4.18/hbase-2.4.18-bin.tar.gz
- 上传到Linux
[hadoop@node1 ~]$ ls
hbase-2.4.18-bin.tar.gz
- 解压到
/opt/software目录
[hadoop@node1 ~]$ tar -zxvf hbase-2.4.18-bin.tar.gz -C /opt/software/
查看解压后文件
[hadoop@node1 ~]$ ls /opt/software/
hbase-2.4.18
- 创建软链接hbase指向到解压后的文件
[hadoop@node1 ~]$ cd /opt/software/
[hadoop@node1 software]$ ln -s /opt/software/hbase-2.4.18 hbase
[hadoop@node1 software]$ ll
lrwxrwxrwx. 1 hadoop hadoop 26 9月29日 06:33 hbase -> /opt/software/hbase-2.4.18
- 配置环境变量
[hadoop@node1 software]$ sudo vim /etc/profile.d/my_env.sh
添加内容:
#HBASE_HOME
export HBASE_HOME=/opt/software/hbase
export PATH=$PATH:$HBASE_HOME/bin
让环境变量生效:
[hadoop@node1 software]$ source /etc/profile
2.2 配置HBase集群
- 配置
hbase-env.sh
[hadoop@node1 ~]$ cd /opt/software/hbase/conf/
[hadoop@node1 conf]$ ls
hadoop-metrics2-hbase.properties hbase-env.sh hbase-site.xml log4j.properties
hbase-env.cmd hbase-policy.xml log4j-hbtop.properties regionservers
[hadoop@node1 conf]$ vim hbase-env.sh
修改如下三个地方:
(1)配置JAVA_HOME
export JAVA_HOME=/opt/software/jdk
(2) 去掉export HBASE_MANAGES_ZK一行前面的#注释,值修改为false:
export HBASE_MANAGES_ZK=false
提示:hbase-env.sh配置文档中的HBASE_MANAGES_ZK的默认值是true,它表示HBase使用自身自带的Zookeeper实例。但是,该实例只能为单机或伪分布模式下的HBase提供服务
(3)去掉export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"一行前面的#号注释。
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
具体如下:


- 配置
hbase-site.xml
[hadoop@node1 conf]$ vim hbase-site.xml
删除原有配置内容(删除<configuration>标签内的原配置),<configuration>标签内添加如下配置
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9820/hbase</value>
</property>
<!-- 在分布式的情况下一定要设置,不然容易出现Hmaster起不来的情况 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
- 配置
regionservers
[hadoop@node1 conf]$ vim regionservers
内容修改为如下主机名。(集群各节点的主机名)
node1
node2
node3
- 配置
Master高可用
Master存在单点故障问题,生产环境有必要配置Master高可用,配置方法如下:
创建backup-masters文件
[hadoop@node1 conf]$ vim backup-masters
内容如下:
node2
即把node3当作HBase的备份Master。
- 分发到集群的其它节点
分发安装包:
[hadoop@node1 conf]$ xsync /opt/software/hbase
[hadoop@node1 conf]$ xsync /opt/software/hbase-2.4.18
分发环境变量:
sudo /home/hadoop/bin/xsync /etc/profile.d/my_env.sh
根据提示输入node1主机root账户的登录密码。
分别让node2及node3的环境变量生效:
node2:
[hadoop@node2 ~]$ source /etc/profile
node3:
[hadoop@node3 ~]$ source /etc/profile
- 启动集群
注意:先启动hadoop和zookeeper,再启动hbase,注意这个启动顺序,否则会造成没有HMaster
[hadoop@node1 ~]$ hdp.sh start
[hadoop@node1 ~]$ zk.sh start
[hadoop@node1 ~]$ start-hbase.sh
查看进程
[hadoop@node1 ~]$ hdp.sh jps
==================== node1 ====================
6720 NameNode
6993 DataNode
7362 NodeManager
7719 QuorumPeerMain
9324 Jps
9022 HRegionServer
8127 HMaster
==================== node2 ====================
5920 QuorumPeerMain
5344 NodeManager
5185 ResourceManager
6691 HRegionServer
7237 Jps
4920 DataNode
6909 HMaster
==================== node3 ====================
5234 NodeManager
5026 SecondaryNameNode
6579 Jps
5589 QuorumPeerMain
6310 HRegionServer
4842 DataNode
7.查看Web UI
hbase默认端口为16010,访问node1:16010

8.关闭hbase集群
[hadoop@node1 ~]$ stop-hbase.sh
提示:先关闭hbase,再关闭zookeeper和hadoop
至此,集群配置就已经完成。
HBase简单使用
- 进入
hbase shell命令行
[hadoop@node1 ~]$ hbase shell
#略
hbase:001:0>
- 创建表
hbase:001:0> create 't1','f1','f2'
Created table t1
Took 1.5607 seconds
=> Hbase::Table - t1
hbase:002:0>
- 查看表
hbase:002:0> list
TABLE
t1
1 row(s)
Took 0.0148 seconds
=> ["t1"]
- 退出hbase shell命令行
hbase:003:0> quit
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐
所有评论(0)