系列文章目录
centos7配置静态网络常见问题归纳_centos7网络问题
centos7克隆虚拟机完成后的的一些配置介绍
虚拟机centos7配置Hadoop单节点伪分布配置教程
卸载centos7自带的jdk的操作步骤
centos7配置zookeeper本地模式与集群模式的详细教程
centos7虚拟机配置集群时间同步的操作步骤
文章目录
系列文章目录
文章目录
前言
一、hbase简介
1.1 HBase 定义
1.2 HBase 数据模型
1.3、HBase 逻辑结构
1.4、 HBase 物理存储结构
1.5、 数据模型
二、配置HBase的过程演示
2.1、 Zookeeper 正常部署
2.2、 Hadoop 正常部署
2.3、 HBase 的解压
2.4、 HBase 的配置文件
2.5、 HBase 远程发送到其他集群
2.6、 HBase 服务的启动
2.7、 查看 HBase 页面
总结
前言
本文主要介绍centos7虚拟机在集群zookeeper上面配置hbase的具体操作步骤,下面是对hbase的一些简单介绍与hbase配置的详细步骤,希望对你有所帮助。下面正式开始今天的内容。
一、hbase简介
1.1 HBase 定义
HBase是一种分布式、可扩展、支持海量数据存储的 NoSQL数据库。
1.2 HBase 数据模型
逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。
但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional map。
1.3、HBase 逻辑结构
1.4、 HBase 物理存储结构
1.5、 数据模型
1)Name Space
命名空间,类似于关系型数据库的 DatabBase概念,每个命名空间下有多个表。HBase
有两个自带的命名空间,分别是 hbase 和 default,hbase 中存放的是 HBase 内置的表,
default表是用户默认使用的命名空间。
2)Region
类似于关系型数据库的表概念。不同的是,HBase定义表时只需要声明列族即可,不需
要声明具体的列。这意味着,往 HBase写入数据时,字段可以动态、按需指定。因此,和关
系型数据库相比,HBase能够轻松应对字段变更的场景。
3)Row
HBase表中的每行数据都由一个 RowKey和多个 Column(列)组成,数据是按照 RowKey
的字典顺序存储的,并且查询数据时只能根据 RowKey进行检索,所以 RowKey的设计十分重
要。
4)Column
HBase中的每个列都由 Column Family(列族)和 Column Qualifier(列限定符)进行限
定,例如 info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。
5)Time Stamp
用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会
自动为其加上该字段,其值为写入 HBase的时间。
由{rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell 中的数
据是没有类型的,全部是字节码形式存贮。
二、配置HBase的过程演示
2.1、 Zookeeper 正常部署
首先保证 Zookeeper 集群的正常部署,并启动之:
[hadoop@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh start
[hadoop@hadoop103 zookeeper-3.4.10]$ bin/zkServer.sh start
[hadoop@hadoop104 zookeeper-3.4.10]$ bin/zkServer.sh start
2.2、 Hadoop 正常部署
Hadoop 集群的正常部署并启动:
[hadoop@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
[hadoop@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
2.3、 HBase 的解压
解压 Hbase 到指定目录:
[hadoop@hadoop102 software]$ tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/module
2.4、 HBase 的配置文件
修改 HBase 对应的配置文件。
1)hbase-env.sh 修改内容:
export JAVA_HOME=/opt/module/jdk1.6.0_144
export HBASE_MANAGES_ZK=false
记得修改这两处
2)hbase-site.xml 修改内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:9000/HBase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102,hadoop103,hadoop104</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
具体配置和你具体的计算机名称对应上
3)regionservers:
hadoop102
hadoop103
hadoop104
4)软连接 hadoop 配置文件到 HBase:
[hadoop@hadoop102 module]$ ln -s /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/module/hbase/conf/core-site.xml
[hadoop@hadoop102 module]$ ln -s /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/module/hbase/conf/hdfs-site.xml
2.5、 HBase 远程发送到其他集群
[hadoop@hadoop102 module]$ xsync hbase/
此处跳的太快了,没有截取到完整的图,见谅哈 ~
此处插入一个小提示,xsync是一个脚本分发文件,具体的书写过程如下:
注意:脚本要在所有的配置之前书写奥~
编写脚本
ps:如果有红色的部分就是未定义好的地方,注意语句之间的空格与对应关系
此处是给文件加入权限
ps:777表示文件所属者,文件所属者的组,其他人,(可读4,写2,执行1,通过数字编写文件的权限)
可以分发的截图:【只是示例】
2.6、 HBase 服务的启动
1.启动方式
[hadoop@hadoop102 hbase]$ bin/hbase-daemon.sh start master
[hadoop@hadoop102 hbase]$ bin/hbase-daemon.sh start regionserver
提示:如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出
ClockOutOfSyncException 异常。
2.启动方式 2
[hadoop@hadoop102 hbase]$ bin/start-hbase.sh
对应的停止服务:
[hadoop@hadoop102 hbase]$ bin/stop-hbase.sh
此处好像有一点小问题,知道的大佬可以教教我吗?
启动是正常的
2.7、 查看 HBase 页面
启动成功后,可以通过“host:port”的方式来访问 HBase 管理页面,例如:
http://hadoop102:16010
总结
配置过程要书写正确的语句,要细心一点才不会出错,以上就是今天的内容。
最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。