gpt4 book ai didi

linux - 从机上没有启动 Hadoop 组件

转载 作者:可可西里 更新时间:2023-11-01 16:55:39 26 4
gpt4 key购买 nike

我正在尝试使用我的两台笔记本电脑设置多节点 hadoop 集群 Michael Noll教程。两台机器上的操作系统都是 Ubuntu 14.04。

我设法在两台笔记本电脑上都设置了单节点集群,但是当我尝试使用 sbin/start- all.sh 在我的主人身上,奴隶根本没有反应。 master 上的所有五个组件都启动,但没有一个在 slave 上启动。

我的 /etc/hosts 在两台 PC 上看起来都是这样

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。不应该是master吗?

我可以使用 ssh slave 从主机无密码地连接到从机并控制从机,但是 sbin/start-all.sh 仍然不能在从站上启动任何 hadoop 组件。

非常有趣的是,如果我在从服务器上运行 sbin/start-all.sh,它会在 ma​​ster (!!!) 上启动 NameNode 并启动 NodeManager 和 ResourceManager在奴隶本身上。

谁能帮我正确启动多节点集群?

P.S: 我看了this ,但在我的例子中,两台机器上 hadoop home 的位置是相同的

最佳答案

可以有几种情况:

  • 检查您是否可以使用 ssh 无密码从从站连接到主站。这是一个link教我们如何去做。
  • 每台机器的主机名是否正确?
  • /etc/hosts 文件在主机和从机上是否相同?
  • 你有没有用 ifconfig -a 检查两台机器的 ip?他们是你所期望的吗?
  • 你是否更改了从机中的所有配置文件,所以现在必须说出主机的主机名而不是本地主机?你应该在 $HADOOP_HOME 目录下的 all 文件中寻找单词 localhost 和类似的东西,因为有几个文件用于配置各种各样的事情,很容易忘记一些。像这样:sudo grep -Ril "localhost"/usr/local/hadoop/etc/hadoop
  • 和以前一样检查,但是在 master 中,所以不是说 localhost,而是说它的主机名。
  • 您应该删除从机上 /etc/hosts 文件中的 localhost 条目。有时,该条目(非常典型的 hadoop 教程)可能会导致一些问题
  • mastersslaves @slave 主机中,它应该只说“slave”,而在你的master 主机中,在masters 文件中它应该是“master”,在你的 slave 文件中,它应该是 slave。
  • 您应该在启动 hadoop 之前在两个节点上格式化您的文件系统。

这些都是我在做你现在做的事情时记得遇到的所有问题。检查其中一些是否对您有帮助!

关于linux - 从机上没有启动 Hadoop 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com