大道至简,知易行难
广阔天地,大有作为

HBase 2.2.2 on Hadoop 3.2.1完全分布式部署

在《HBase使用独立部署ZooKeeper的伪单机模式》中我们使用单机模式部署了HBase,这不能满足企业级的使用要求,接下来我们使用完全分布式部署。

由于HBase和Hadoop存在版本依赖关系(HBase和Hadoop之间的RPC需要精确的版本匹配),因此需要根据Hadoop判断决定要使用的HBase版本。具体可以到官网上查看Hadoop version support matrix,地址为https://hbase.apache.org/book.html。截止到2019年12月1日,HBASE和Hadoop之间的版本支持矩阵如下:

Hadoop version support matrix

Hadoop version support matrix

我们直接使用最新的2.2.2的二进制发行版,下载后使用 tar zvxf hbase-2.2.2-bin.tar.gz将其解压。

1、修改所有实例上的hbase-env.sh文件
禁用让HBASE自己管理ZooKeeper:

2、修改所有实例上的hbase-site.xml文件
hbase.cluster.distributed=true配置为分布式部署方式,并将hbase.rootdir指向HDFS(此处的HDFS的地址就是etc/hadoop/core.site.xml中的fs.defaultFS),同时将hbase.zookeeper.quorum指向我们自己的ZooKeeper集群:

3、修改所有实例上的regionservers文件
文本文件,每行是一个主机名,一行一个,将regoin服务器添加上:

4、启动集群
配置完成,使用bin/start-hbase.sh启动集群即可,在哪台服务器使用上述命令启动则哪台服务器即为master节点。我们可以使用 jps命令,看到服务器1启动和HMaster和HRegionServer进程,服务器2和服务器3启动和HRegionServer进程,但一会儿HMaster就退出,查看日志发现报错:

经查,网上大量的帖子中指出需要在hbase-site.xml中增加如下配置:

加入后确实解决了该问题。

通过Web页面查看HBase集群情况,HMaster默认的Web UI端口为16010:

HBase HMaster WebUI

HBase HMaster WebUI

RegionServer默认的Web UI端口为16030:

HBase RegionServer WebUI

HBase RegionServer WebUI

不过,对于为何需要这个的配置这些帖子均语焉不详,而且官网明确指出了该参数仅适用于本地文件系统:

Master fails to become active due to lack of hsync for filesystem

Master fails to become active due to lack of hsync for filesystem

结合https://stackoverflow.com/questions/48709569/hbase-error-illegalstateexception-when-starting-master-hsync中

HBase 2.2.2二进制发行版中使用的hadoop 2.x的依赖

HBase 2.2.2二进制发行版中使用的hadoop 2.x的依赖

的说法,查看hbase/lib目录中确实是使用的hadoop 2.8.5的库:

HBase 2.2.2二进制发行版中默认使用的是Hadoop 2.x的依赖(2.8.5)

HBase 2.2.2二进制发行版中默认使用的是Hadoop 2.x的依赖(2.8.5)

决定编译源码进行尝试,具体见另外一篇文章:《HBase 2.2.2 on Hadoop 3.2.1源码编译》。

参考资料:
1、https://hbase.apache.org/book.html
2、https://stackoverflow.com/questions/48709569/hbase-error-illegalstateexception-when-starting-master-hsync
3、https://www.cndba.cn/dave/article/3321
4、https://blog.csdn.net/gdeasy/article/details/103136090
5、https://blog.51cto.com/caiyuanji/2132738
6、https://www.cnblogs.com/barneywill/p/10283076.html

转载时请保留出处,违法转载追究到底:进城务工人员小梅 » HBase 2.2.2 on Hadoop 3.2.1完全分布式部署

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址