Hadoop集群用到的工具 | 版本号 | 节点名称 |
hadoop | 2.7.1 | Master |
hbase | 1.4.7 | Slave1 |
zookeeper | 3.4.10 | Slave2 |
Zookeeper下载:Apache官网上自行下载合适版本:https://zookeeper.apache.org/
Zookeeper简介
分布式协作。zookeeper是google的chubby项目开源实现。最早是hadoop的子项目。
Kafka使用zookeeper。消息发布订阅,其中zk就是用于检测节点崩溃。实现主题的发现,并且保持主题的生产和消费状态。
Hbase三段查找,Root-Region=》Meta Region=》Region(Table)。hbase的元数据信息放在HBase。HMaster挂掉,马上 要节点恢复。
Hadoop。NameNode(SecondaryNameNode),HA Hadoop。一般情况下一个简单的hadoop集群,只有一个NameNode,如果NameNode挂掉,hadoop集群不可用。HA Haoop里面就要用到zk。
原文出自:https://blog.csdn.net/changshaoshao/article/details/83271736
Zookeeper解决哪些问题
1. Master节点管理
解决的问题:Master高可用(主机挂掉以后,谁来负责工作),保证唯一;
2. 配置文件管理
解决的问题:统一把配置文件存放在Zookeeper,由Zookeeper统一发放
3. 发布和订阅
发布者(producer)讲数据发布到zk节点上,供订阅者(consumer)动态获取
4. 分布式锁
分布式环境访问统一个资源,由第三方配锁实现。
解决的问题:由zk统一进行协调,保证数据的一致性。
5.集群的管理
Worker集群监控。
如果配置hbase分布式集群时用hbase自带的zookeeper,则参考博主的另外一篇博客:
HBase分布式集群方法:https://blog.csdn.net/weixin_42209572/article/details/86552461
如果不使用自带的zookeeper,则在Apache官网上自行下载合适的版本:https://zookeeper.apache.org/
安装方法见上文引用的原文博客。
安装时若无法顺利启动zookeeper,请查看错误原因或者日志文件:
问题一:zookeeper running as process 28132. stop it first.
此时应该先关闭zookeeper,关闭集群。重新按照完整顺序安装配置一遍,我就这样解决了。
问题二:Error: Can't get master address from zookeeper;Znode data == null
推测原因:(1)运行hbase(zookeeper)的用户无法写入zookeeper文件,导致Znode data为空。
(2)hbase-site.xml中的fs.defaultFS路径与core-site.xml中fs.defaultFS路径不同,可尝试将二者路径改为一致。