Hbase集群搭建

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Hbase集群搭建

1 启动条件

HBase也需要安装在成功部署了Hadoop的平台上,并且要求Hadoop已经正常启动。同时,HBase需要作为集群来部署,因此,我们将在Master和Slave上安装HBase。下面的所有操作均使用csu用户,请先进行用户的切换,还有就是要有zookeeper要不也会闪退.0d96ef7a9dee4b5b93f3a8cf8e46e5f8.png

2 安装

可以从“http://hbase.apache.org”下载最新版本的HBase,我们采用了较早版本的HBase。实际上,研究发现,在安装Hadoop 3.1以后,将HBase升级到2以上版本需要慎重对待。从官方文献以及实践来看,高版本的Hadoop与高版本的HBase存在失配的问题,因此我们这里采用低版本的HBase。在现实中,采用什么版本的软件应当从实际需要出发。

请将该文件复制到Master的“/home/csu/resources”目录下(为了管理方便,建议读者把所有软件资源都放在一个目录下),然后将该文件复制到“/home/csu/”下面,我们从这里开始安装。


tar -zxvf hbase-2.0.4-bin.tar.gz

3f1cfef0711643168ccce15ab6bca73e.png

cb616350a9c54b8cbc69f526b91abdc1.png


sudo mv hbase-2.0.4 ~

4cf9f009a2b24dbfbb49999d2502f513.png

cbbc05f095e749b0b0cc59fe7c39c35b.png


3 配置

进入HBase安装目录下的“conf”子目录,这是配置文件所在的位置。

81ef2c5caed24e2eb2502e7c44583f6b.png


修改环境变量hbase-env.sh

执行“gedit hbase-env.sh”命令开始编辑hbase-env.sh文件。在该文件的靠前部分,可以看到下面的代码:

b0ab05115d0a461b912cdfe47a3e045a.png


在上述代码中,修改第二行,去掉“#”号,即将“# export JAVA_HOME=/usr/java/ jdk1.8.0/”修改为“export JAVA_HOME=/usr/java/jdk1.8.0_171/”。

# The java implementation to use.  Java 1.8+ required.
# export JAVA_HOME=/usr/java/jdk1.8.0/

0bcc706a05f94f7ca18cf1ba32eb5020.png


在上述代码中,修改第二行,去掉“#”号,即将“# export JAVA_HOME=/usr/java/ jdk1.8.0/”修改为“export JAVA_HOME=/usr/local/jdk1.8.0_171/”。


修改配置文件hbase-site.xml

接着修改配置文件hbase-site.xml。安装HBase后,系统自动生成了hbase-site.xml文件,执行“gedit hbase-site.xml”命令可编辑该文件。将下面的代码放在hbase-site.xml文件的<configuration> </configuration>之间。

<property>     
    <name>hbase.cluster.distributed</name>
    <value>true</value> 
</property> 
<property> 
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
</property> 
<property> 
    <name>hbase.zookeeper.quorum</name>
    <value>master</value>
</property>
<property>
    <name>hbase.master.info.port</name>
    <value>60010</value>
</property>

2a98136948f549ff9bfbf4e364fd610e.png

注意事项


必须指出,上述代码中的“60010”是通过Web方式得到的HBase系统状态的端口号。HBase 1.0以下版本不需要在hbase-site.xml文件中添加该端口号,用户就可以访问其Web页面。但是Hbase 1.0以上版本则需要由用户自己添加端口号,就像我们上面所做的那样。有些用户安装了Hbase 1.0以上版本后,可以启动并进入Shell使用系统,但不能通过Web方式查看系统状态,其原因就是没有在hbase-site.xml文件中添加上述相关配置代码。


配置regionservers

regionservers文件类似Hadoop的slaves文件,其中保存了RigionServer的列表。在启动HBase时,系统将根据该文件建立HBase集群。regionservers文件在HBase的安装目录下的“conf”子目录下,执行“vim regionservers”命令可编辑该文件。

bf5c5bd8e4e54ecf82cace3343d88538.png


slave0 slave1


#HBase
export HBASE_HOME=/home/csu/hbase-2.0.4/
export PATH=$HBASE_HOME/bin:$PATH 
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*

配置Linux环境变量文件

修改.bash_profile文件,执行“vim etc/profile”命令可编辑该文件,如图6-43所示。


c6e70dc857a547dabb830426bbbb7354.png


#HBase
export HBASE_HOME=/home/csu/hbase-2.0.4/
export PATH=$HBASE_HOME/bin:$PATH 
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*
source /etc/profile

将HBase安装目录复制到Slave

本次有两个Slave(Slave0和Slave1),因此复制操作需要执行两次,复制到Slave 0的命令是scp -r ~/hbase-2.0.4/ slave0:~/。

492cbd80b4214f2cafa0c1f656302bb4.png


4 启动并验证HBase

进入Master上的HBase安装目录,执行“bin/start-hbase.sh”命令可启动HBase。

执行命令后如果看到的信息,表明HBase已经成功启动。

28c3587582da4e01aed47303d328a8f6.png


可以看到,系统首先启动HBase自带的ZooKeeper,然后启动HBase的HMaster,接着分别启动Slave上的RegionServer。


可以通过“jps”命令查看Master的进程,其中HMaster是HBase的主控节点进程,HQuorumPeer则是HBase的ZooKeeper进程(即HBase内置的ZooKeeper)。

01d6eb63f4234e32b7a62f71ce885a4b.png


d0706f6b72504608884ae4b887e9f740.png


同样,也可以通过Web方式查看HBase系统的运行状态。打开Firefox浏览器,在地址栏输入“http://master:60010”,会看到的界面,该界面就是HBase的管理界面。


23171a064b8f41ef95981fd2f4acf89c.png

5 HBase的基本应用

这里先介绍几个常见的HBase Shell命令。利用HBase Shell命令操作HBase是一种基本方法,也可以通过程序进行操作。


执行“bin/hbase shell”命令进入HBase Shell。


d02c42f5917d4e4394374190aa0be973.png


创建表

create "test1",'f1'



002ea26876f84e39b92f53c6abcbb780.png

其中f1是列簇名,由用户自己定义。上述命令是旧版本形式,目前可以简化成如图6-53所示的形式。


查看列表

list

89fe00cb3a154e5d8b57fc7baff9d963.png

插入数据

put 'test1','id001','f1:uid','001'


扫描查询数据

scan 'test1'

3cf6969ca5c545a096df4ad238019824.png

在上面的命令中,id001是行键(即Row Key);f1是列簇名;uid是属性名,表示用户ID; 001就是属性的值。在查询结果中,我们看到了行键、列簇、属性名、时间戳和属性值。大家不妨对照HBase存储模型研究一下,可以看到这里显示的信息与模型是一致的。我们看到,HBase与传统数据库有了很大的区别。


查看表结构

describe ‘test’

7610c8dae98e423fa57e94a7713cbcf7.png

删除表

删除一个表需要执行如下两条命令:

禁用后删除


disable 'test2'

drop 'test2'


退出

exit


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
存储 Oracle 关系型数据库
HBase集群环境搭建与测试(上)
HBase集群环境搭建与测试
261 0
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
209 0
|
大数据 分布式数据库 Docker
基于Docker搭建大数据集群(七)Hbase部署
基于Docker搭建大数据集群(七)Hbase部署
|
19天前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 监控关注的核心指标包括 Master 和 RegionServer 的进程存在性、RPC 请求数、JVM 内存使用率、磁盘和网络错误、延迟和吞吐量、资源利用率及 JVM 使用信息。通过 Grafana 可视化和告警规则,帮助管理员实时监控集群性能和健康状况。
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
72 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
33 3
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
58 3
|
4月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
134 2
|
4月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
|
7月前
|
分布式计算 监控 Hadoop
Ganglia监控Hadoop与HBase集群
Ganglia监控Hadoop与HBase集群