图解Hbase之使用外置Zookeeper分布式集群

散仙,在上篇文章,已经介绍了Hbase的完全分布式集群部署,这次要介绍的,也是基于Hbase的完全分布式集群,只不过集群的zookeeper与上次的不同,我们都知道Hbase为了简化集群部署,已经内置了zookeeper,大部分时候使用内置的zookeeper都可以非常方便的部署集群,而这一点与solr中solrcloud的集群部署非常相似,solrcloud也内置了zookeeper了,启动的时候可以由solr负责启动zookeeper,而在Hbase中,则是由Hbase负责启动zookeeper的。

其实,大多数的分布式应用框架,都离不开zookeeper这个统一协作服务,当然,我们也可以不用其内置的 zookeeper,由我们自己来安装维护独立的zookeeper集群,关于外置和内置的zookeeper也算各有利弊吧,散仙在此,就不加以评论了,下面开始进入正题,配置独立的zookeeper集群来管理Hbase。



在这之前,需要注意的是,如果使用的是外置zookeeper那么这个zookeeper版本号,建议跟Hbase里面内置的zookeeper版本保持一致,这样尽可能避免出现一些莫名其妙的错误。总结的步骤,如下图所示:

顺序 内容
配置Hbase的hbase-env.sh文件
配置下载的zookeeper3.4.5
分发zookeeper到每个节点上


第一步,配置hbase-env.sh内容截图如下:

图解Hbase之使用外置Zookeeper分布式集群_第1张图片
第二步,配置zookeeper,修改其config目录下zoo_simple.cfg重命名为zoo.cfg,并在其data目录(自己手动创建)下,新建一个myid文件,server.x后面的x数字一直即可,修改其内容如以下截图:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zookeeper/data
clientPort=2181

server.1=10.2.143.5:2887:3887
server.2=10.2.143.36:2888:3888
server.3=10.2.143.37:2889:3889


图解Hbase之使用外置Zookeeper分布式集群_第2张图片

图解Hbase之使用外置Zookeeper分布式集群_第3张图片

第三步,使用scp命令,进行远程拷贝zookeeper到子节点,需要注意的是,zookeeper的配置个数只能是奇数个,一般建议是3或5个比较好,当然你也可以配置更多,来保证集群的稳定性。,截图如下:

图解Hbase之使用外置Zookeeper分布式集群_第4张图片

最后我们就可以关闭防火墙,来启动集群了,注意集群启动的顺序,先启动hadoop集群,然后到各个节点上启动Zookeeper,最后再启动Hbase集群,启动成功后,jps打印命令如下:

图解Hbase之使用外置Zookeeper分布式集群_第5张图片
访问Hbase首页Web的截图如下:

图解Hbase之使用外置Zookeeper分布式集群_第6张图片
使用Java API操作Hbase,示例如下截图:
图解Hbase之使用外置Zookeeper分布式集群_第7张图片
然后,我们使用Hbase shell在服务器上验证,刚才的建表步骤是否成功,截图如下:

图解Hbase之使用外置Zookeeper分布式集群_第8张图片


至此,我们已经成功完成,使用外置zookeeper与Hbase的集群。最后注意,停止集群的顺序,先关闭Hbase,然后再关闭zookeeper,最后关闭hadoop,好了,现在,你可以带着你的好奇心,去放心大胆的尝试部署了,加油!










你可能感兴趣的:(hadoop,zookeeper,hbase,zookeeper集群)