前言
本节内容我们主要介绍HBase高可用集群的安装部署。HBase是一个开源的分布式非关系型数据库管理系统(NoSQL),它运行在Apache Hadoop之上。它基于Google的Bigtable论文设计,并且具有高扩展性、高可靠性和高性能的特点。HBase通常用于需要存储和处理大规模结构简单数据的场景,例如日志分析、实时数据处理、用户行为追踪等。它在大数据领域中得到广泛应用,并且与Hadoop生态系统中的其他组件(如HDFS、MapReduce、Hive等)集成紧密。
列存储:HBase以列族的形式组织数据,可以非常高效地存储和查询大量结构相对简单的数据;分布式架构:HBase使用分布式的方式存储数据,可以水平扩展,支持处理海量数据;高可靠性:HBase采用多副本机制,将数据在集群中的多个节点上进行复制,以提供数据的冗余和容错能力;高性能:HBase支持快速的读写操作,并且对于随机访问和大规模批量操作都具有良好的性能;强一致性:HBase提供强一致性的读写操作语义,并实现了原子性、一致性、隔离性和持久性(ACID)的特性;稀疏存储:HBase适用于存储稀疏(大部分数据为空)的数据集,并且可以动态地添加或删除列;提供Java API:HBase提供了Java编程接口(API),方便开发人员进行数据的读写和管理。
正文
- 集群服务规划:
- 关于hadoop集群和zookeeper集群的安装内容本节不在介绍,请查看作者往期博客内容。
hadoop101 | hadoop102 | hadoop103 |
---|---|---|
Zookeeper | Zookeeper | Zookeeper |
hadoop | hadoop | hadoop |
hbase | hbase | hbase |
- 上传hbase安装包到hadoop101服务的/opt/software目录
- 将hbase安装包解压到/opt/module目录下
- 命令:
tar -zxvf hbase-2.4.11-bin.tar.gz -C /opt/module
- 配置hbase环境变量
- 在/etc/profile.d/my_env.sh自定义环境变量中增加hbase环境变量
- 分发配置文件,使hadoop101、hadoop102、hadoop103的环境变量配置生效
- 使环境变量生效
- 修改hbase配置文件
- 在/opt/module/hbase-2.4.11/conf配置文件目录下修改hbase-env.sh配置文件
export HBASE_MANAGES_ZK=false
- 在/opt/module/hbase-2.4.11/conf配置文件目录下修改hbase-site.xml配置文件
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!--开启hbase分布式服务--> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!--设置外部zookeeper地址--> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop101,hadoop102,hadoop103</value> <description>The directory shared by RegionServers.</description> </property> <!--设置hdfs文件存储地址--> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop101:8020/hbase</value> <description>The directory shared by RegionServers. </description> </property> </configuration>
- 在/opt/module/hbase-2.4.11/conf目录下的regionservers中添加habse服务器
- 解决hbase和hadoop的log4j冲突问题,删除hbase的log4j的jar包
- 命令:
mv /opt/module/hbase-2.4.11/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar /opt/module/hbase-2.4.11/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar.bak
- 分发hbase安装包到hadoop102和hadoop103
- 启动zookeeper集群服务
- 启动hadoop集群服务
- 启动hbase集群服务
- 启动命令
# 启动主节点 bin/hbase-daemon.sh start master # 启动regionserver bin/hbase-daemon.sh start regionserver # 集群启动 bin/start-hbase.sh # 集群关闭 bin/stop-hbase.sh
- 查看服务状态
- 访问hbase集群服务地址http://hadoop101:16010/
- 配置hbase集群的高可用
- 在HBase中HMaster负责监控 HRegionServer的生命周期,均衡 RegionServer 的负载, 如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 HMaster 的高可用配置。
- 在/opt/module/hbase-2.4.11/conf目录下创建一个backup-masters文件,并填写备用服务器地址
- 分发配置文件
- 重启hbase服务
- 查看服务状态
- 查看web端
结语
至此,关于hbase高可用集群的安装与部署到这里就结束了,我们下期见。。。。。。