系列文章目录
centos7配置静态网络常见问题归纳_centos7网络问题
centos7配置zookeeper本地模式与集群模式的详细教程
文章目录
前言
本文主要介绍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 管理页面,例如:
总结
配置过程要书写正确的语句,要细心一点才不会出错,以上就是今天的内容。
最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。