系列文章目录
HBase第一章:集群搭建
前言
Hive的内容基本算是学完了,太深入的东西,现在没有必要死磕,接下来我们学习hadoop生态系统里的下一个组件。
HBase。
Apache HBase™ 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。
一、环境准备
再开始之前,我们要先安装好zookeeper和hadoop并启动。
这个可以看我之前的专栏。
hadoop
zookeeper
现在我的hadoop和zookeeper已经启动了。
二、上传HBase
这里我用的是官网的最新稳定版,用的备份源,速度能跑到3M左右。国内几个源我都没找到镜像,不知道啥原因。
hbase-2.4.14
上传到/opt/software目录。
解压到指定目录。
改个名称
tar -xvf hbase-2.4.14-bin.tar.gz -C /opt/module/
mv hbase-2.4.14/ hbase
三、上传HBase
配置环境变量
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin
source环境变量。
source /etc/profile
四、配置参数
vim hbase/conf/hbase-env.sh
这个参数原本就有,但是注释掉了,可以取消注释,也可以直接在最后边追加。
export HBASE_MANAGES_ZK=flase
vim hbase/conf/hbase-site.xml
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102,hadoop103,hadoop104</value>
<description>The directory shared by RegionServers.
</description>
</property>
<!-- <property>-->
<!-- <name>hbase.zookeeper.property.dataDir</name>-->
<!-- <value>/export/zookeeper</value>-->
<!-- <description> 记得修改 ZK 的配置文件 -->
<!-- ZK 的信息不能保存到临时文件夹-->
<!-- </description>-->
<!-- </property>-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:8020/hbase</value>
<description>The directory shared by RegionServers.
</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
中间注释掉的内容,如该你的zookeeper没有修改保存目录就把注释取消即可。
修改为如下内容
修改regionservers
vim /opt/module/hbase/conf/regionservers
hadoop102
hadoop103
hadoop104
修复日志警告
这个问题在之前zookeeper也遇到过,当时我们是将zookeeper的低版本换成了hadoop的高版本。现在我们将hbase的低版本直接注释,系统里就是只有hadoop的一个了,不会有冲突了。
mv /opt/module/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar /opt/module/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar.back
五、分发测试
xsync hbase/
sudo xsync /etc/profile.d/my_env.sh
然后source一下另外两个节点的环境。
在主节点启动hbase,我们设置的主节点是hadoop102,所以我们要在102上启动。
start-hbase.sh
启动成功。
jps查看
在web端查询。
博主本地hosts出了点问题,ping hadoop102能使用,但是浏览器就不行,也不知道为啥。
所以这里用IP访问。
192.168.10.102:16010
六、高可用
hbase的模式也是一个老大带一群小弟,小弟属于消耗品,可以随时更换,但老大如果宕机,集群就可能会出问题,所以我们现在配置一个二号人物,当老大宕机的时候,可以直接顶上,现在我们把103设置为二号人物。
先关闭hbase集群。
stop-hbase.sh
写入后备节点
vim hbase/conf/backup-masters
分发测试。
xsync hbase/conf/backup-masters
但是现在hadoop103是不干活的。
192.168.10.103:16010无法使用,所以我肯直接把hadoop102的HMaster kill掉。
现在103就担任主节点的作用。
这个时候我们重启102,也不能成为主节点了。
hbase/bin/hbase-daemon.sh start master
hadoop102就没有小弟信息了。
现在我们在103关闭集群。
在102重新启动,然后102就又变成老大了。
到此这次博客的内容就基本结束了,建议这里打快照。
总结
总体来说hbase的配置比较简单,所以第一章的内容比较少。