Haoop之hbase高可用集群的 安装与使用

Haoop之hbase高可用集群的 安装与使用

实验目的、要求
掌握完全分布模式的整合平台中HBase的高可用完全分布模式的安装
1、完成HBase的高可用完全分布模式的安装
2、HBase的相关服务进程能够正常启动
3、HBase控制台能够正常使用
4、表创建、数据查询等数据库操作能够正常进行
5、掌握数据库的基本使用操作
6、HBase数据库语句的使用
实验环境
1、五*立PC机或虚拟机
2、主机之间有有效的网络连接
3、每台主机内存2G以上,磁盘剩余空间500M以上
4、所有主机已安装CentOS 7.4操作系统
5、所有主机已完成网络属性配置
6、所有主机已安装JDK
7、已完成Zookeeper集群的安装和部署
8、已完成Hadoop集群得安装和部署
9、HBase完全分布部署完成
软件版本
选用Hbase的1.2.3版本,软件包名为hbase-1.2.3-bin.tar.gz
集群规划
HBase有主节点何Region节点2类服务节点,高可用完全分布模式中需要满足主节点有备用得基本要求,所以需要两台或以上得主机作为主节点,而完全分布模式中需要满足Region有备份何数据处理能够分布并行得基本要求,所以要求两台或以上得主机作为Region节点,具体规划如下:

实验内容与完成情况
1、 HBase基本安装配置
*该项所有操作步骤使用专门用于集群的用户admin进行
*此项只在一台主机操作,然后在下一步骤进行同步安装于配置。
1.1上传HBase软件包“hbase-1.2.3-bin.tar.gz”到用户家目录的“setups”目录下。然后进行解压和环境变量设置。
Haoop之hbase高可用集群的 安装与使用
1.2创建用于存放HBase相关文件的目录并且进入该目录将软件包解压

Haoop之hbase高可用集群的 安装与使用
1.3配置HBase的相关环境变量

Haoop之hbase高可用集群的 安装与使用
1.4使新配置的环境变量立即生效,查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确
Haoop之hbase高可用集群的 安装与使用
2、HBase高可用完全分布模式配置
*该项的所有操作步骤使用专门用于集群的用户admin进行
2.1进入Hbase相关文件的目录,分别创建HBase的得元数据文件目录“tmp”何HDFS得日志文件目录“logs”。
Haoop之hbase高可用集群的 安装与使用
2.2进入Hbase的配置文件所在目录,对配置文件进行修改。
Haoop之hbase高可用集群的 安装与使用

2.3对配置文件进行修改。
$vi hbase-site.xml
找到标签“”所在的位置,在其添加如下内容:
Haoop之hbase高可用集群的 安装与使用
Haoop之hbase高可用集群的 安装与使用
2.4删除文件中原有所有内容,然后添加集群中所有RegionServer节点得主机名,每行一个主机的主机名,配置如下:
Haoop之hbase高可用集群的 安装与使用
Haoop之hbase高可用集群的 安装与使用
2.5创建配置文件“backup-masters”。
Haoop之hbase高可用集群的 安装与使用
2.6修改配置文件,添加集群中所有备用主节点得主机名,每行一个主机得主机名,配置格式如下:

Haoop之hbase高可用集群的 安装与使用Haoop之hbase高可用集群的 安装与使用3、同步安装配置以及系统时间
*该项的所有操作步骤使用专门用于集群的用户admin进行
3.1将“hbase”目录和“.bash_profile”文件发给集群中所有主机,发送目标用户为集群专用用户admin,发送目标路径为“/home/admin”,即集群专用用户admin的家目录。然后每台执行source ~/.bash_profile使环境变量生效。

Haoop之hbase高可用集群的 安装与使用
Haoop之hbase高可用集群的 安装与使用

3.2在每台主机或虚拟机上,使用命令“echo $ZOOKEEPER_HOME”、“echo $PATH”、“hbase version”查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确,验证Hadoop的安装配置是否成功。
$echo $ZOOKEEPER_HOME
$echo $PATH
$hbase version
Haoop之hbase高可用集群的 安装与使用

3.3在集群中所有主机上使用命令“date -s ‘yyyy-MM-dd HH:mm:ss(年-月-日 时:分:秒)’”对系统时间进行设置,并使用命令:hwclock -w:将设置得时间同步到硬件时钟。
*时间同步项的所有操作步骤需要使用root用户进行。
*该操作尽量在所有主机上同时进行,从而保证主机之间的时间误差值在设定的“hbase.master.maxclockskew”范围内。
Haoop之hbase高可用集群的 安装与使用
3.4开启虚拟节点的时间同步
Haoop之hbase高可用集群的 安装与使用
4、Hadoop高可用完全分布模式格式启动和验证
*该项的所有操作步骤使用专门用于集群的用户admin进行
*启动HBase集群之前首先确保Zookeeper集群已被开启状态。(实验5台)
Zookeeper的启动需要分别在每个计算机的节点上手动启动。如果家目录下执行启动报错,则需要进入zookeeper/bin目录执行启动命令。
*启动HBase集群之前首先确保Hadoop集群已被开启状态。(实验5台)
Hadoop只需要在主节点执行启动命令。
4.1在集群中所有主机上查看该节点Zookeeper服务当前的状态,若集群中只有一个“leader”节点,其余均为“follower”节点,则集群的工作状态正常。如果Zookeeper未启动,则在集群中所有主机上使用命令“./zkServer.sh start”启动Zookeeper服务的脚本。在主节点使用命令“start-all.sh”,启动Hadoop集群。在所有备用主节点的主机,使用命令“yarn-daemon.sh start resourcemanager”,启动YARN主节点服务.确定Hadoop集群已开启状态,然后再主节点使用命令“start-hbase.sh”,启动HBase集群
$./zkServer.sh status
$./zkServer.sh start
$jps
$start-all.sh
$yarn-daemon.sh start resourcemanager
$start-hbase.sh
Haoop之hbase高可用集群的 安装与使用
4.2查看Java进程信息
4.2.1在主节点和备用主节点使用命令“jps”查看Java进程信息,若有名为“HMaster”的进程,则表示HBase集群的主节点和备用主节点启动成功。
Haoop之hbase高可用集群的 安装与使用
4.2.2使用命令“ssh 目标主机名或IP地址”远程登录到所有Region节点主机,使用命令“jps”查看Java进程信息,若有名为“HRegionServer”进程,则表示HBase集群的Region节点启动成功。

Haoop之hbase高可用集群的 安装与使用

4.3进入HBase的控制台,在控制台中使用命令“create ‘表名’,‘列名1’,‘列名2’,…”创建表。命令“exit”退出控制台返回系统命令界面。
Haoop之hbase高可用集群的 安装与使用
5、HBase的使用
5.1新建表空间
Haoop之hbase高可用集群的 安装与使用
5.2将以下几位同学的成绩单的数据写入到Hbase。
Haoop之hbase高可用集群的 安装与使用
5.3建立一个个表和列族(默认表空间)
Haoop之hbase高可用集群的 安装与使用
5.4按设计的表结构插入值

Haoop之hbase高可用集群的 安装与使用
Haoop之hbase高可用集群的 安装与使用

5.5扫描所有数据

Haoop之hbase高可用集群的 安装与使用
出现的问题与解决方案 [出现的问题]
HMaster服务启动起来过一会就消失了
[解决方案]
1.使用ZK客户端登录进行排错,但是发现还是不行。
2.查看logs日志报告,出现以下报错 :operation category read is not supported in state standby,大概意思是依赖的一号机的状态是standby,hbase依赖hadoop集群中的namenode节点,因此想强制改变一号和二号机的状态,但试了好多中方法发现不行,因此修改5台主机的配置文件将依赖改为二号机,重启所有服务就好了。
3.在做hbase练习时,首先登陆192.168.10.111:50070,发现一号和二号机的状态又发生了改变,所以单独重启其中一台机子,另外一台就active状态了。

未解决
问题 无
实验
心得 在安装配置HBase的实验过程一曲三折,但是在不断排错与解决问题的过程中,对hbase的认识与理解又加深了一步,以下是对此次实验的心得总结:
(1)Hbase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群;
(2)Hbase目的是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据;
(3)遇到遇到第一时间就是查看日志报告,如果日志报告太多就可以用命令
[head -行数 日志名称] [tail -行数 日志名称] 进行查看。