我正在尝试使用我的两台笔记本电脑使用Michael Noll教程设置多节点hadoop群集。两台机器上的操作系统都是Ubuntu 14.04。
我设法在两台笔记本电脑上设置了单节点集群,但是当我尝试启动时(在教程中指示完所有必要的修改之后),使用sbin/start-all.sh
的多节点集群掌握奴隶根本没有反应。主站上的所有五个组件都启动,但从站上没有单个组件启动。
我的/etc/hosts
看起来像这样的两台电脑
127.0.0.1 localhost
192.168.178.01 master
192.168.178.02 slave
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
(此外,在/ usr / local / hadoop / etc / hadoop中没有名为master的文件,因此我使用touch /usr/local/hadoop/etc/hadoop/master
创建了它)
然后,当我sbin/start-all.sh
时,我看到以下内容:
hduser@master:/usr/local/hadoop$ sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
15/05/17 21:21:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [master]
master: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-master.out
localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-master.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-master.out
15/05/17 21:21:46 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-master.out
localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-master.out
hduser@master:/usr/local/hadoop$ jps
3716 DataNode
3915 SecondaryNameNode
4522 Jps
3553 NameNode
4210 NodeManager
4073 ResourceManager
hduser@master:/usr/local/hadoop$
有趣的是,第6行有localhost
。难道不是主人吗?
我可以使用ssh slave
密码从主服务器连接到从服务器并控制从服务器,但仍然,sbin/start-all.sh
不启动从服务器上的任何hadoop组件。
非常有趣的是,如果我在slave上运行sbin/start-all.sh
,它会在master(!!!)上启动NameNode ,并在slave上启动NodeManager和ResourceManager。
有人可以帮助我正确启动多节点群集吗?
P.S:我看了this,但在我的情况下,两台机器上hadoop home的位置是相同的
答案 0 :(得分:1)
可能有以下几点:
ssh
无密码连接从从设备到主设备。这是一个link,告诉我们如何做到这一点。localhost
目录中的所有文件中寻找单词$HADOOP_HOME
和类似的内容,因为有几个文件可用于配置所有类型的内容并且&# 39;很容易忘记一些。这样的事情:sudo grep -Ril "localhost" /usr/local/hadoop/etc/hadoop
localhost
文件中的/etc/hosts
条目。有时,那些典型的hadoop教程可能会导致一些问题masters
和slaves
@ slave主机中,它应该只说" slave",并且在主主机中,在masters
文件中它应该说& #34;主"在你的slave
文件中,它应该说是奴隶。 当我现在正在做的时候,这些都是我记得的所有问题。检查一下它们是否对你有帮助!