centos7虚拟机在集群zookeeper上面配置hbase的具体操作步骤

Posted 张小鱼༒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7虚拟机在集群zookeeper上面配置hbase的具体操作步骤相关的知识,希望对你有一定的参考价值。

系列文章目录

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、 数据模型

1Name Space

命名空间,类似于关系型数据库的 DatabBase概念,每个命名空间下有多个表。HBase

有两个自带的命名空间,分别是 hbase defaulthbase 中存放的是 HBase 内置的表,

default表是用户默认使用的命名空间。

2Region

类似于关系型数据库的表概念。不同的是,HBase定义表时只需要声明列族即可,不需

要声明具体的列。这意味着,往 HBase写入数据时,字段可以动态按需指定。因此,和关

系型数据库相比,HBase能够轻松应对字段变更的场景。

3Row

HBase表中的每行数据都由一个 RowKey和多个 Column(列)组成,数据是按照 RowKey

字典顺序存储的,并且查询数据时只能根据 RowKey进行检索,所以 RowKey的设计十分重

要。

4Column

HBase中的每个列都由 Column Family(列族) Column Qualifier(列限定符)进行限

定,例如 infonameinfoage建表时,只需指明列族,而列限定符无需预先定义。

5Time Stamp

用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会

自动为其加上该字段,其值为写入 HBase的时间。

6Cell

rowkey, column Familycolumn 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 对应的配置文件。

1hbase-env.sh 修改内容:

export JAVA_HOME=/opt/module/jdk1.6.0_144

export HBASE_MANAGES_ZK=false

 

记得修改这两处 

2hbase-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>

 具体配置和你具体的计算机名称对应上

3regionservers

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

 总结

配置过程要书写正确的语句,要细心一点才不会出错,以上就是今天的内容。

最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。

CentOS下关于配置zookeeper集群时,克隆后的虚拟机无法启动Hadoop的解决方案

参考技术A 准备材料:

被克隆主机:Hadoop01(名称我随便起的,方便记忆)

克隆后的主机:Hadoop01(克隆后的主机名与被克隆的主机名一样后期会修改为Hadoop02)

错误原因:克隆的虚拟机主机名和被克隆的虚拟机名相同,而在启动Hadoop集群的时候,配置文件中读取的主机名不匹配,所以无法启动Hadoop集群。我们只需要修改配置信息和主机名就可以了,多台机器,只需要在需要启动Hadoop集群的机器上修改配置文件

解决方案:

第一步:首先要修改克隆后的主机ip

vim /etc/sysconfig/network-scripts/ifcfg-eth0

  1> 修改HWADDR:00:0c:29:xx:xx:xx(前六个数基本相同,后面六个数根据虚拟机设置查看)

  2> 修改IPADDR:192.168.xxx.xxx(具体IP地址根据被克隆主机的ip修改)

  3> 重启网卡:service network restart

第二步:查看被克隆的主机的主机名并修改

  1> vim /etc/sysconfig/network

    例:原主机名Hadoop01  修改后------> Hadoop02

  2> source /etc/sysconfig/network

第三步:建立主机名与ip地址一一对应的关系

  vim /etc/hosts

  例:192.168.247.151 Hadoop02

第四步:接下来修改Hadoop的配置文件

在这个路径下行:/home/software/hadoop-2.7.1/etc/hadoop

不同人可能路径可能存在差异

    1>修改core-site.xml

    凡是被克隆主机名均修改为现在的主机名,也就是将Hadoop01修改为Hadoop02

    2>修改yarn-site.xml

    凡是被克隆主机名均修改为现在的主机名,也就是将Hadoop01修改为Hadoop02

    3>修改slaves

    凡是被克隆主机名均修改为现在的主机名,也就是将Hadoop01修改为Hadoop02

    4>删除tmp文件

    在这个路径下/home/software/hadoop-2.7.1删除tmp文件

不同人路径可能不同

    5>格式化namenode(请谨慎格式化)

    hadoop namenode -format

第五步:执行start-all.sh和jps查看所有进程是否启动成功

本文只是记录自己学习过程中的疑难问题和解决方案,如果逻辑不通或者知识点有错,请不要吝啬批评和更正,共同学习进步,不喜勿喷,喷子止步,谢谢合作

以上是关于centos7虚拟机在集群zookeeper上面配置hbase的具体操作步骤的主要内容,如果未能解决你的问题,请参考以下文章

centos7搭建zookeeper集群环境

centos7配置zookeeper本地模式与集群模式的详细教程

Zookeeper 安装步骤

Zookeeper3.5.7版本——集群部署(linux环境-centos7)

zookeeper集群 新手安装指南

Zookeeper 集群搭建