Hbase集群搭建,使用的是Hadoop-2.7.7以及zookeeper-3.4.10,Hbase的版本是Hbase-1.2.9
获取Hbase-1.2.9的链接:https://www.apache.org/dyn/closer.lua/hbase/hbase-1.2.9/hbase-1.2.9-bin.tar.gz
没有特别说明,这些配置都是在Hadoop集群的Master节点上进行配置的。
然后将压缩包解压,可以将它解压在/usr/local下,或者/home/hadoop下,我是解压在/home/hadoop
sudo tar -zxf ~/hbase-1.2.9-bin.tar.gz -C /usr/local
#将压缩包解压到/usr/local下
tar -zxf hbase-1.2.9-bin.tar.gz #我直接把它解压在/home/hadoop下边
将解压的文件Hbase-1.2.9,更名为Hbase,方便后续的操作。
sudo mv /usr/local/hbase-1.2.9 /usr/local/hbase #解压在/usr/local用这一步,还有修改权限
cd /usr/local
sudo chown -R hadoop:hadoop hbase # 修改文件权限
mv hbase-1.2.9 hbase #解压在/home/hadoop用这一步,不用修改权限
进入Hbase的目录,修改conf/evn.sh,修改这个conf/hbase-env.sh配置文件的目的主要有两个,一是配置jdk的地址,二是关闭Hbase自带的zookeeper
echo $JAVA_HOME #查看jdk的路径,把jdk的路径复制下来
vi /usr/lcoal/hbase/conf/hbase-env.sh #解压到/usr/local执行这一步
vi hbase/conf/hbase-env.sh #解压到/home/hadoop执行这一步
一、找到JAVA_HOME配置项,大约在第二十六行二十七行的样子,取消注释(就是把那一行前边的#去掉),并把刚复制的节点上的JAVA安装路径粘贴在上边,原有的删掉,如下图
二、找到zookeeper的Hbase_MANAGES_ZK配置项,取消注释,并设置其值为false,该配置项大概在127行128行。设置false的意思是禁用Hbase自带的zookeeper,改用咱自己装的zookeeper(如果想要使用Hbase自带的zookeeper可以将该项设置为true)。关于zookeeper的安装配置可以参考我的上一篇博客:https://blog.csdn.net/FQAMBY/article/details/86505460。配置如下图所示
接下来在Maser节点上配置 hbase/conf/hbase-site.xml 文件,执行
cd hbase/conf
vi hbase-site.xml
配置内容如下:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://Master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Master,Slave1,Slave2</value>
</property>
</configuration>
在Master上配置Slave节点列表,仍在 hbase/conf 目录下
vi regionservers
删掉默认的localhost,并添加想要运行的RegionServer的节点名,一个节点一行,如下:
Slave1
Slave2
删掉localhost的原因是并不想在Hadoop的namenode上运行RegionServer,因为namenode上并不存储HDFS数据,运行RegionServer需要远程调用数据,同时也会加重namenode的负担。
以上,就是Hbase的集群配置的全部文件了,接下来,就要把这个已经配置好的Hbase传送到,其他的两个节点上了。
scp -r ./hbase hadoop@Slave1:/home/hadoop
scp -r ./hbase hadoop@Slave2:/home/hadoop
最后,到了检验成果的时候了,启动Hbase。首先要把集群启动,然后,才能启动Hbase。
start-all.sh #启动集群
mr-jobhistory-daemon.sh start historyserver
hbase/bin/start-hbase.sh #启动hbase
jps
启动后,要查看是否启动成功,输入jps,结果如下图那么就是成功了,Master节点的进程中有一个HMaster,Slave的节点上有一个HRegionServer
至此,Hbase的配置就全部完成了。按照正常标准的启动程序,是先启动Hadoop集群→zookeeper→Hbase,这次是为了演示,就没有按照流程走。
停止Hbase是
hbase/bin/stop-hbase.sh #停止Hbase
stop-all.sh #停止集群
CentOS 7