作者 :“大数据小禅” 简介:详细讲解HBase的集群分布式搭建,附带过程截图。
1.HBase简介
HBase是一个分布式的、面向列的开源数据库,一个结构化数据的分布式存储系统。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作
2.HBase集群搭建详细过程
1.上传解压安装包
这里要对应Hadoop的版本,以免发生不兼容,我这里使用的是Hadoop3.x。有一点要注意的是,Hbase强依赖于HDFS以及Zookeeper。所以在安装HBase之前一定要确保HDFS与Zookeeper是正常启动的。前置环境详细搭建见专题文章。我们使用到的机器有node1,node2,node3,其中node1作为主节点,操作在node1,之后进行分发。
代码语言:javascript复制#获取对应的安装包可以私聊我也可以到官网进行下载
#解压后修改安装包名字为hbase-2.3.3
tar -zxf hbase-2.3.3-bin.tar.gz -C /app
2.修改配置文件
代码语言:javascript复制cd /app/hbase-2.3.3/conf
vim hbase-env.sh
#编辑以下内容
export JAVA_HOME=/app/jdk1.8 #修改java环境
export HBASE_MANAGES_ZK=false #默认是ture,也就是默认使用自带的zookeeper,但是我们一般都使用自己安装的
修改第二个配置文件
代码语言:javascript复制vim hbase-site.xml
#添加以下内容 注意集群机器的Zookeeper的位置与HDFS的路径位置,根据情况修改
<configuration>
<property>
<name>hbase.rootdirname>
<value>hdfs://node1:8020/hbasevalue>
property>
<property>
<name>hbase.cluster.distributedname>
<value>truevalue>
property>
<property>
<name>hbase.master.portname>
<value>16000value>
property>
<property>
<name>hbase.zookeeper.quorumname>
<value>node1:2181,node2:2181,node3:2181value>
property>
<property>
<name>hbase.zookeeper.property.dataDirname>
<value>/app/zookeeper-3.5.7/zkDatavalue>
property>
configuration>
修改第三个配置文件regionservers
代码语言:javascript复制vim regionservers
#清空文件内容添加如下
node1
node2
node3
3.分发安装包到集群
代码语言:javascript复制cd /app/
scp -r hbase-2.3.3/ node2:$PWD
scp -r hbase-2.3.3/ node3:$PWD
4.创建软连接
因为hbase需要读取hadoop的core-site.xml以及hdfs-site.xml当中的配置文件信息,所以我们三台机器都要执行以下命令创建软连接
代码语言:javascript复制#在机器node2与node3中也要执行相同的操作
ln -s /app/hadoop-3.1.3/etc/hadoop/core-site.xml /export/servers/hbase-2.3.3/conf/core-site.xml
ln -s /app/hadoop-3.1.3/etc/hadoop/hdfs-site.xml /export/servers/hbase-2.3.3/conf/hdfs-site.xml
5.为机器配置HBASE_HOME环境变量
代码语言:javascript复制vim /etc/profile
#添加如下内容
export HBASE_HOME=/app/hbase-2.3.3
export PATH=:$HBASE_HOME/bin:$PATH
#加载环境变量 这里注意,可以把app下的所有应用都进行环境变量的配置,形式跟上面一样,修改路径变量名即可
source /etc/profile
6.HBase集群启动
代码语言:javascript复制#在HBase家目录下使用命令
bin/start-hbase.sh
之后到其他机器查看进程,可以看到HMaster与HRegionServer即可。
7.集群访问
通过 IP:16010 可以在本地浏览器看到对应的Web页面,即为安装成功
3.HBase集群建表测试
搭建好集群之后可以进行建表测试,看集群是否可用,在node1上执行hbase shell命令,开启客户端。
代码语言:javascript复制#建个表user_info ,表中有列簇info,data
create 'user_info','info','data'
#往表中的列簇插入数据与列 指定rowkey为rk001,在info列簇插入列name,值为xiaochan
put 'user_info','rk001','info:name','xiaochan'
#查询数据
get 'user_info','rk001','info'
到这里HBase集群已经搭建完成。