- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个正在进行的 Hadoop 集群配置,包括四台机器,但在 MapReduce WebUI 中我只看到一个事件节点而不是四个,即触发 MapReduce 的 olympus
名称节点。
我知道类似的 questions但这样做仍然无济于事,可能是因为版本差异?
我的启动似乎一切正常:
deploy@olympus:~$ start-dfs.sh && start-yarn.sh
Starting namenodes on [olympus]
olympus: starting namenode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-namenode-olympus.out
zeus: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-zeus.out
hera: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-hera.out
olympus: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-olympus.out
poseidon: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-poseidon.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-secondarynamenode-olympus.out
starting yarn daemons
starting resourcemanager, logging to /opt/dev/hadoop/2.2.0/logs/yarn-deploy-resourcemanager-olympus.out
poseidon: starting nodemanager, logging to /opt/dev/hadoop/2.2.0/logs/yarn-deploy-nodemanager-poseidon.out
olympus: starting nodemanager, logging to /opt/dev/hadoop/2.2.0/logs/yarn-deploy-nodemanager-olympus.out
zeus: starting nodemanager, logging to /opt/dev/hadoop/2.2.0/logs/yarn-deploy-nodemanager-zeus.out
hera: starting nodemanager, logging to /opt/dev/hadoop/2.2.0/logs/yarn-deploy-nodemanager-hera.out
我的 yarn-site.xml
在所有四台机器上看起来都是这样的:
<configuration>
<property>
<name>yarn.resourcemanager.resourcetracker.address</name>
<value>olympus:8025</value>
<description>Enter your ResourceManager hostname.</description>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>olympus:8030</value>
<description>Enter your ResourceManager hostname.</description>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>olympus:8050</value>
<description>Enter your ResourceManager hostname.</description>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>olympus:8041</value>
<description>Enter your ResourceManager hostname.</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<final>true</final>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
<final>true</final>
</property>
</configuration>
我的 mapred-site.xml
在所有四台机器上看起来都是这样的:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>olympus:8021</value>
<final>true</final>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>olympus:10020</value>
<description>Enter your JobHistoryServer hostname.</description>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>olympus:19888</value>
<description>Enter your JobHistoryServer hostname.</description>
</property>
</configuration>
我的 core-site.xml
在所有四台机器上看起来都是这样的:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://olympus:8020/</value>
<final>true</final>
</property>
</configuration>
我的 hdfs-site
在所有四台机器上看起来都是这样的:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/deploy/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.name.dir</name>
<value>file:/home/deploy/hdfs/data</value>
<final>true</final>
</property>
</configuration>
最后,我的 slaves
文件在所有四台机器上看起来都是这样的:
olympus
zeus
hera
poseidon
更新:
我在日志文件 yarn-deploy-nodemanager-zeus.log
中看到以下错误消息:
INFO org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8031
0.0.0.0:8031
在哪里定义为 yarn 或 hadoop 配置的一部分?它不应该尝试连接到 olympus:8031
或 olympus:8032
吗?
最佳答案
zeus
、hera
和 poseidon
上的 NodeManager
能够注册到 ResourceManager
守护进程,为了随后出现在事件节点列表中,olympus
上的端口 8032
必须可访问。
通常,默认操作系统会打开防火墙,这会在您的 start-dfs.sh && start-yarn.sh
之后自动神奇地阻止这种情况发生。您可以尝试禁用您的操作系统的防火墙(如果它已启用),然后重试相同的启动并且应该可以正常工作。大多数 Linux 操作系统的防火墙都可以通过 service iptables stop
关闭,但您可以检查并使用适用于您的操作系统的内容。
如果防火墙关闭,则需要登录zeus
、hera
或poseidon
之一并检查日志文件 /opt/dev/hadoop/2.2.0/logs/yarn-deploy-nodemanager-*.log
和 /opt/dev/hadoop/2.2.0/logs/hadoop-deploy -datanode.log
错误(连接排序等),然后根据其中显示的内容进一步排除故障。
关于xml - 如何将多个节点添加到 Hadoop 2.2.0 Yarn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21555434/
我是一名优秀的程序员,十分优秀!