HBase第一章:集群搭建
Hive的内容基本算是学完了,太深入的东西,现在没有必要死磕,接下来我们学习hadoop生态系统里的下一个组件。
HBase。
Apache HBase™ 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。
再开始之前,我们要先安装好zookeeper和hadoop并启动。
这个可以看我之前的专栏。
hadoop
zookeeper
现在我的hadoop和zookeeper已经启动了。
这里我用的是官网的最新稳定版,用的备份源,速度能跑到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_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile
vim hbase/conf/hbase-env.sh
这个参数原本就有,但是注释掉了,可以取消注释,也可以直接在最后边追加。
export HBASE_MANAGES_ZK=flase
vim hbase/conf/hbase-site.xml
hbase.cluster.distributed
true
hbase.zookeeper.quorum
hadoop102,hadoop103,hadoop104
The directory shared by RegionServers.
hbase.rootdir
hdfs://hadoop102:8020/hbase
The directory shared by RegionServers.
hbase.cluster.distributed
true
中间注释掉的内容,如该你的zookeeper没有修改保存目录就把注释取消即可。
vim /opt/module/hbase/conf/regionservers
修复日志警告
这个问题在之前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
在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的配置比较简单,所以第一章的内容比较少。