当前位置:   article > 正文

【Hadoop高可用集群部署Hbase】_hbase高可用配置

hbase高可用配置

目录

前言

一、安装及配置Hbase集群

1.Hbase安装包下载

​编辑

2.Hbase相关配置

1)修改hbase-env.sh文件

2)修改hbase-site.xml文件

3)修改regionservers文件

4)添加环境变量以及分发文件

3.启动Hbase

4.关闭Hbase

二、Hbase常用命令

1.建表

2.添加数据

3.查询指定列族信息

 4.删除表

总结



前言

HBase中,ZooKeeper用于管理和跟踪集群的状态信息和元数据。它负责选举主节点、协调分布式锁、监控节点健康状态等。HBase的每个节点都会与ZooKeeper建立连接,并通过ZooKeeper获取集群配置信息,以便在数据读写和节点故障转移过程中进行协调。

总结起来,ZooKeeper为HBase提供了必要的分布式协调和管理功能,使得HBase能够在一个大规模的分布式环境中稳定运行。本文部署Hbase所用到的是Zookeeper是自己安装的,没有用到Hbase自带的Zookeeper,所以要先安装Zookeeper。

一、安装及配置Hbase集群

1.Hbase安装包下载

使用开源工具MobaXterm将Hbase的安装包上传到Linux系统上的/opt/目录下,然后使用cd /opt/命令切换路径,解压安装包

cd /opt        

tar -zxvf habase-1.4.8-bin.tar.gz -C /opt

2.Hbase相关配置

安装Hbase需要修改的配置文件有四个,分别是profile、hbase-site.xml、hbase-env.sh、regionservers

1)修改hbase-env.sh文件

修改hbase-env.sh文件前先切换到hbase路径下的conf文件夹

cd /opt/hbase-1.4.8/conf

vi hbase-env.sh

在hbase-env.sh文件中添加jdk的路径,即配置HBASE_MANAGES_ZK的值

 当HBASE_MANAGES_ZK的值为true时,表示使用Hbase自带的Zookeeper集群; 当HBASE_MANAGES_ZK的值为flase时,表示不使用Hbase自带的Zookeeper集群而是使用自己安装的Zookeeper集群;

2)修改hbase-site.xml文件

hbase-site.xml文件同样在/opt/hbase-1.4.8/conf目录下,直接vi hbase-site.xml进入文件编辑

编辑内容如下

3)修改regionservers文件

在regionservers文件中添加主机名和集群的主机名

vi regionservers

4)添加环境变量以及分发文件

vi /etc/profile    进入文件编辑添加以下代码

 添加完环境变量后,使用scp命令将Hbase的相关配置文件和/etc/profile文件复制到另外两个节点

分发Hbase:

scp -r /opt/hbase-1.4.8/ slave1:/opt/
scp -r /opt/hbase-1.4.8/ slave2:/opt/

分发profile:
scp /etc/profile slave1:/etc/profile
scp /etc/profile slave2:/etc/profile

分发完后使环境变量生效需要进行刷新文件,在每个节点上执行source /etc/profile 命令

3.启动Hbase

启动Hbase要先启动Hadoop集群和Zookeeper;启动Zookeeper需要 在每个节点上执行zkServer.sh start,启动hadoop只需要在主节点上执行start-all.sh命令就可以了。

启动完Zookeeper和Hadoop后在主节点上执行start-hbase.sh 命令

 启动成功后查看进程,HMaster进程在,但是在浏览器上查看Master信息却失败了

并且进入hbase shell 使用list查看表的时候也失败了,看了同学写的博客后试了一下她说的有可能导致失败的原因,我把防火墙关闭后并且也把时间同步了,但是还是不成功。我又看到别的博主写的,如果之前启动过hbase保留的元数据导致的,然后我在zk客户端和hdfs上删了hbase目录后重启了Zookeeper后再次启动Hbase,发现还是失败,最后只能请教老师了。在老师的帮助下终于找到了原因,原来是在hbase-env.sh文件中少加了一行 source /etc/rofile ,系统找不到路径导致一直启动不成功。重新启动Hbase,终于成功了,也可以在hbase shell 中使用list命令和建表了

4.关闭Hbase

zkServer.sh stop   //关闭Zookeeper

start-hbase.sh      //关闭Hbase

start-all.sh            //关闭Hadoop

二、Hbase常用命令

HBase的表结构由以下几个部分组成:

  1. 表名(Table Name):表的唯一标识符,用于在HBase中区分不同的表。

  2. 行键(Row Key):表中每一行的唯一标识符,类似于关系数据库中的主键。行键通常是一个字节数组,并且按照字典顺序进行排序。

  3. 列族(Column Family):列族是逻辑上相关的一组列的集合。在HBase中,列族被批量存储和检索,因此数据模型设计时需要考虑列族的划分。

  4. 列限定符(Column Qualifier):列限定符是列族中的列的唯一标识符,用于进一步细分和标识记录中的数据。

  5. 单元格(Cell):单元格是表中存储数据的最小单位,由行键、列族和列限定符确定。每个单元格可以存储一个特定版本的值。

  6. 时间戳(Timestamp):每个单元格都与一个时间戳关联。在插入新值时,可以指定时间戳。如果未指定时间戳,则系统将自动使用当前时间作为时间戳。

通过使用行键、列族、列限定符和时间戳,HBase能够提供高效的随机访问和查询能力,并支持对海量数据的存储和分析。

1.建表

现在演示的是使用create创建一个学生表,列族为'person_info'表示个人信息,列族'class_info'表示班级信息,建表完成后可以用list 命令查看是否成功建表成功

2.添加数据

在hbase中,使用put命令向指定的表插入数据

代码如下:其中'student'表示表名,'student001'和'student002'表示行键(row key),'person_info'和'class_info'表示列族,'name' 'age' 'sex' 'classname'表示列修饰符,每行最后的表示插入的值

数据插入后使用scan命令查看表。在hbase中一个行键表示一行,现在只向表中添加了两个行键,所以只有两行数据

更新数据使用的命令也是put

3.查询指定列族信息

查询指定列族的信息,使用get命令,'student' 表示表名,'stuent001'表示列族

 4.删除表

删除表前需要先禁用表!

使用disable命令先禁用表,然后使用drop命令删除表:


总结

以上就是在Hadoop高可用集群中部署Hbase及对表的一些增删改查的操作,如果有什么错误欢迎指正。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/627172
推荐阅读
相关标签
  

闽ICP备14008679号