版权声明:本文为博主原创文章,转载请注明原文链接 https://blog.csdn.net/sailist/article/details/83718863
- 确认hbase下的hbase-site.xml中的
hbase.rootdir
的端口和hadoop下的core-site.xml中的fs.defaultFS
共用一个端口,否则在进入hbase shell的时候输入list会报Can't get master address from ZooKeeper; znode data == null
错误,如果出现了一定要确认一下,如果hdfs-site.xml中配置了dfs.namenode.rpc-address
,那么这个的端口应该也和前两者的相同 - 启动顺序是zookeeper->Hadoop->HBase或者zookeeper->Hadoop->HBase,HBase一定放到最后启动,然后zookeeper是所有的服务器都要启动(
zkServer.sh start
),Hadoop是通过start-dfs.sh
和start-yarn.sh
启动,HBase是通过start-hbase.sh
启动,第一次启动记得 - 如果hadoop的start-dfs.sh运行完后输入jps查看进程不显示datanode,那么可以去hadoop的logs目录下看一眼日志,如果出现
Incompatible clusterIDs...
那么就说明是格式化的时候出了问题,把设置的相应目录全部删除后再重新格式化一次, - 网上有人说zookeeper的自己的服务器需要设置为0.0.0.0,其实并不需要(虚拟机、局域网测试环境,其他环境不能保证)
- 一般情况下只有主服务器的50070端口才能打开,其他服务器的50070是打不开的,通过netstat | grep [端口号]查询一下就好
- 大部分错误都可以在日志文件里找到真正的原因,如果查直接输出的错误无法定位的话,就去看一下日志吧
- 第一次实验性搭配环境的时候,不需要太多的操作,可以按照这篇文章的说明来搭配
- 其实无密码的配置不是很必要,只是为了自动化操作,否则在每次启动的时候都会要求你输入密码