HBASE的完全分布式搭建

今天来教大家如何搭建一个完全分布式的hbase集群:

1.环境确认:

由于hbase的数据是存储在hdfs集群上面,所以你需要搭建一个hdfs集群,而且我们需要使用zookeeper管理我们的hbase集群,所以我们的机器需要安装zookeeper集群。
如图:
hadoop集群:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述本地环境是有三台机器:master,slave1,slave2,分别是是hdfs的namenode和datanode,其中QuorumPeerMain是zookeeper的java进程,确认上述环境没有问题之后就可以来安装我们的hbase集群了。

2.上传hbase安装包

注意,因为hbase是依赖于hadoop集群的,所以我们需要的hbase版本要和hadoop对应好,我本地的hadoop是2.7.3版本的(可以使用hadoop version查看版本)

在这里插入图片描述按照官网 http://hbase.apache.org/book.html#java 查看版本对应的关系:
在这里插入图片描述在这里插入图片描述
所以我下载的hbase版本是2.1.8版本的,上传到服务器
在这里插入图片描述

3. 解压

tar -zxvf hbase-2.1.8-bin.tar.gz
我的文件夹是/home/hbase,效果如图:
在这里插入图片描述

4.修改配置文件

进入/conf目录:

  1. 修改hbase-env.sh

需要修改的一个是jdk的安装位置,一个是使用外部的zk,可以使用echo $JAVA_HOME查询jdk的安装位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 修改hbase-site.xml
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
		<name>hbase.rootdir</name>
		<value>hdfs://master:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
		<name>hbase.zookeeper.quorum</name>
		<value>master:2181,slave1:2181,slave2:2181</value>
</property>

在这里插入图片描述

  1. 修改regionservers

在这里插入图片描述

  1. 注意:还需要将hadoop的hdfs-site.xml和core-site.xml放在hbase/conf下面

我们先找到这个文件的位置:
在这里插入图片描述路径是:/home/hadoop/hadoop-2.7.3/etc/hadoop,然后我们复制这两个文件过去:

cp /home/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml ./


cp /home/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml ./

在这里插入图片描述

  1. 最后我们将这个配置好的hbase复制到其它的两个服务器上面:
scp -r hbase-2.1.8 slave1:/home/hbase/
scp -r hbase-2.1.8 slave2:/home/hbase/

4.启动hbase

在master节点上进入bin目录,使用

./start-hbase.sh

启动habse,这时候会报一些jar包冲突:
在这里插入图片描述我们就需要去修改或者删除相同的jar,这里我的做法是将hbase里面的jar重命名:

cd lib/client-facing-thirdparty/
mv slf4j-log4j12-1.7.25.jar slfj-log4j12-1.7.25.jar.bak

最后使用bin目录下的关闭shell脚本关闭hbase,重启:

./stop-hbase.sh
./start-hbase.sh

在这里插入图片描述启动成功!
由于我的版本是2.1.8,所以我的端口号是16010

http://master:16010/master-status

在这里插入图片描述

发布了39 篇原创文章 · 获赞 1 · 访问量 4620

猜你喜欢

转载自blog.csdn.net/thetimelyrain/article/details/104039924