本周总结一下安装Hadoop+hbase+zookeeper时遇到的坑。
一、Hadoop和hbase版本是有兼容关系的
这是从官网(hbase.apache.org/book.html#java)的文档中扒下来的最新的版本对应表。
对勾表示可以适配
错号表示不能适配
叹号表示未经过测试,有可能不适配
所以下载Hadoop和hbase时一定要从官方文档中查看版本是否匹配。
二、首先这个问题与解决方案也许是不符合的。问题是这样的:在我解决了Hadoop和hbase版本适配问题后,启动Hadoop,正常,启动hbase,正常!大功告成!咦?等等,不对,数数jps命令下的进程,怎么回事?之前还是有Jps、DataNode、HRegionServer、SercondaryNameNode、NameNode、HMaster,怎么现在只剩下了Jps、DataNode、SercondaryNameNode、NameNode了,HRegionServer和HMaster怎么没了?
折腾良久,我也没能从网上找出适合我的解决方案,最后在一个博主写的安装Hadoop的博客中得到了一点思路:据他所说,hbase自带的zookeeper灰常不稳定,于是博主干脆没有使用hbase自带的zookeeper,而是自己下载了一个zookeeper。我由此受到启发,是不是我的问题也是zookeeper引起的?
于是我也单独下载了zookeeper,在解决了由于权限不足(Permission denied),因此强行使用管理员权限(su)等一系列问题后,zookeeper也成功启动了,最后我启动了hbase,果然,这次所有的进程都存在,并没有崩溃!
总结:对于第一个问题来说,多看官方文档才是真的,毕竟软件技术几个月就能发布新版本,老版本的教程有时也适用不了新版本的软件;对于第二个问题,其实我也是稀里糊涂的,我并没有找出那两个进程崩溃的原因,查看log倒是找到了报错点,但却没有解决方案,所以猜测zookeeper也只是瞎猫碰到死耗子,运气好罢了。