本文介绍: 关闭HBase集群照本实验设置,关闭HBase集群后HBase节点master上的主进程HMaster、HBase节点slave1、slave2上的从进程HRegionServer消失,同时HBase主从节点上所有与HBase相关的ZooKeeper节点文件*.znode进程文件*.pid也依次消失。其中pids目录由HBase集群启动自动创建设置HBASE_MANAGES_ZK,将其值设置false,即关闭HBase本身的ZooKeeper集群,将第128行修改为以下内容如图所示

实验名称

部署全分布模式HBase集群实战HBase

实验性质

(必修、选修)

必修

实验类型验证设计创新综合

综合

实验课时

2

实验日期

2023.11.07-2023.11.10

实验仪器设备以及实验软硬件要求

专业实验室配有centos7.5系统linux虚拟机三台

实验目的

1. 理解HBase数据模型

2. 理解HBase体系架构

3. 熟练掌握HBase集群部署

4. 了解HBase Web UI的使用

5. 熟练掌握HBase Shell常用命令使用

6. 了解HBase Java API,能编写简单的HBase程序

实验内容(实验原理、运用的理论知识算法程序步骤方法

1.HBase集群的部署原理:

Hadoop生态环境: HBase通常部署在Hadoop生态环境上,依赖HDFS(Hadoop Distributed File System存储数据

ZooKeeper: HBase集群通常依赖ZooKeeper进行协调和管理,确保集群中的各个节点之间的一致性可用性

Master-RegionServer架构: HBase集群包含一个多个Master节点和多个RegionServer节点。Master负责集群管理和元数据操作,而RegionServer存储处理实际的数据

HBase根目录: HBase在HDFS上有一个根目录用于存储表的元数据和实际数据。这个目录会分散在HDFS上的不同节点上,实现了数据的分布式存储

2. HBase实战的实验原理:

创建管理表: 使用HBase Shell或API创建表,定义列簇、列等结构,并观察表的分布情况。

数据写入读取: 向HBase表中写入数据,并通过不同方式进行读取,观察数据的分布和读写性能

HBase过滤器使用HBase过滤器来检索满足特定条件的数据,例如列值、时间戳等。

HBase Coprocessors: 实验使用HBase Coprocessors来进行数据处理,例如计数聚合等,加强HBase的功能

监控性能调优使用HBase的监控工具(如HBase Web UI)来监测集群的状态,观察各节点的负载情况,进行性能调优

故障模拟模拟节点故障,观察HBase的自动恢复机制,确保集群的可用性和容错性。

数据一致性: 观察HBase在数据写入更新时的一致性保证,了解HBase的事务特性

备份恢复: 实验备份恢复HBase表,确保在发生灾难性事件时能够迅速还原数据。

实验步骤

1.规划分布模式HBase集群。

采用的是HBase版本是1.4.10,3个节点的机器名分别为master、slave1、slave2,IP地址依次为192.168.18.100、192.168.18.101、192.168.18.102

2.部署分布模式HBase集群。

1). 初始软硬件环境准备

(1)准备3台机器安装操作系统,编者使用CentOS Linux 7.5。

(2)对集群内每一台机器配置静态IP、修改机器名、添加集群级别域名映射、关闭防火墙

(3)对集群内每一台机器安装配置Java,要求Java 1.7或更高版本,编者使用Oracle JDK 8u191。

(4)安装和配置Linux集群中主节点到从节点的SSH免密登录

2). 获取HBase

HBase官方下载地址https://hbase.apache.org/downloads.html建议读者下载stable目录下的当前稳定版本。编者采用的HBase稳定版本是2019年6月10日发布的HBase 1.4.10,其安装包文件hbase-1.4.10-bin.tar.gz例如存放master机器的/home/xuluhui/Downloads中。

3). 主节点上配置HBase

HBase所有配置文件位于$HBASE_HOME/conf下,具体的配置文件如前文图5-9所示。本实验中编者仅修改hbaseenv.shhbasesite.xmlregionservers三个配置文件

假设当前目录为“/opt/so/hbase-1.4.10”,切换普通用户root下,在主节点master上配置HBase的具体过程如下所示

(1)编辑配置文件hbaseenv.sh

hbaseenv.sh用于设置Linux/Unix环境运行HBase要用的环境变量,包括Java安装路径等,使用vim conf/hbaseenv.sh”对其进行如下修改

设置JAVA_HOME,与master上之前安装的JDK位置版本一致,将第27行的注释去掉,并修改为以下内容修改后的效果如图所示

export JAVA_HOME=/usr/java/jdk1.8.0_191/

编辑配置文件hbase-env.sh中JAVA_HOME

将第46、47行的PermSize作为注释,因为JDK8中无需配置,修改后的效果如图所示。

 编辑配置文件hbase-env.sh中PermSize

JDK8下若PermSize配置不作为注释删掉,则启动HBase集群时会出现以下“warning警告信息

设置HBASE_PID_DIR,修改进程文件保存位置,该参数默认为“/tmp”,将第120行修改为以下内容如图所示。其中pids目录由HBase集群启动自动创建

 编辑配置文件hbase-env.sh中HBASE_PID_DIR

设置HBASE_MANAGES_ZK,将其值设置为false,即关闭HBase本身的ZooKeeper集群,将第128行修改为以下内容,如图所示。

编辑配置文件hbase-env.sh中HBASE_MANAGES_ZK

(2)编辑配置文件hbase-site.xml

hbase-site.xml是HBase核心配置文件,包括HBase数据存放位置、ZooKeeper集群地址等配置项。在master机器上修改配置文件hbase-site.xml,具体内容如下所示。

(3)编辑配置文件regionservers

Regionservers用于设置运行HRegionServer从进程的机器列表每行1个主机名。在master机器上修改配置文件regionservers,该文件原来内容为“localhost”,修改为以下内容。

slave1

slave2

3.启动分布模式HBase集群。

(1. 启动HDFS集群

在主节点上使用命令startdfs.sh启动HDFS集群,使用的命令及运行效果如图5-23所示,从图5-23中可以看出,HDFS主进程NameNode成功启动slave1和slave2上的从进程DataNode此处未展示,读者应保证HDFS所有主从进程启动成功。

(2. 启动ZooKeeper集群

由于本实验中HBase并未自动管理ZooKeeper,所以用户需要手工启动ZooKeeper集群。在ZooKeeper集群的所有节点上使用命令“zkServer.sh start”启动ZooKeeper集群,编者为了方便,在节点master上使用ssh远程连接slave1、slave2,完成了各个节点ZooKeeper的启动工作

(3. 启动HBase集群

在主节点上启动HBase集群

而在从节点上:

4.验证分布模式HBase集群。

主节点上的webUI的界面是:

从节点的webUI的界面

5.使用HBase Web UI。

(1)使用hbase shell

(2)打开HBase主节点的Web UI,可以看到已建立的student表,如图所示。

从HBase集群主节点的Web UI界面查看student

(3)使用命令“zkCli.sh –server master:2181,slave1:2181,slave2:2181”连接ZooKeeper客户端,从ZooKeeper的存储树中也可以查看到建立的student表,如图所示。

从ZooKeeper存储树中可查看student表

(4)由于HBase底层存储采用HDFS,所以打开HDFS Web UI,也可以查看到建立的student表,如图所示。

6. 关闭全分布模式HBase集群。

使用命令“stop-hbase.sh”

关闭HBase集群照本实验设置,关闭HBase集群后HBase主节点master上的主进程HMaster、HBase从节点slave1、slave2上的从进程HRegionServer消失,同时HBase主从节点上所有与HBase相关的ZooKeeper节点文件*.znode和进程号文件*.pid也依次消失

实验结果分析

1.集群启动: 通过Web UI、HBase Shell以及其他工具确认HBase集群启动正常。

2.表的创建和管理: 通过HBase Shell和Web UI,查看已建立的表(例如,student表)。

3.数据写入读取: 使用HBase Shell或API向表中写入数据,并通过不同方式进行读取,观察性能。

4.过滤器和Coprocessors: 使用过滤检索数据,尝试使用Coprocessors进行数据处理验证功能

5.监控和性能调优: 使用HBase Web UI监测集群状态,观察各节点负载情况,进行性能调优

6.故障模拟模拟节点故障,验证HBase的自动恢复机制,确保集群容错性。数据一致性: 观察数据写入更新时的一致性,了解HBase的事务特性

7.备份恢复: 实验备份恢复HBase表,确认在灾难性事件时能够迅速还原数据。

 

原文地址:https://blog.csdn.net/CSH__/article/details/134676073

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_28778.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注