hadoop:无法访问“跟踪url”

sz81bmfz  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(632)

我将hadoop环境构建为伪分布式模式(在osx上)。下面的代码段是配置文件。
○core-site.xml文件

<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://127.0.0.1:9000</value>
  </property>
</configuration>

○mapred-site.xml文件

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>127.0.0.1:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>127.0.0.1:19888</value>
</property>
<property>
    <name>mapreduce.jobhistory.admin.address</name>
    <value>127.0.0.1:10033</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.https.address</name>
    <value>127.0.0.1:19890</value>
</property>
</configuration>

○yarn-site.xml文件

<configuration>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.webapp.https.address</name>
    <value>127.0.0.1:8044</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>127.0.0.1:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>127.0.0.1:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
</property>
<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>127.0.0.1:8031</value>
</property>
<property>
    <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
    <value>98.5</value>
</property>
<property>
    <name>yarn.nodemanager.hostname</name>
    <value>localhost</value>
</property>
</configuration>

以及 jps 结果如下。

79464 NameNode
79562 DataNode
79696 SecondaryNameNode
79831 ResourceManager
79945 NodeManager

我可以打开“http://localhost:8088“,所以我查看了工作细节。我点击了历史按钮(链接到“http://[private\u ip\u addr]:8088/proxy/application\u x/”),试图打开“tracking url”(下图是一个作业详细信息页面),连接被拒绝(google chrome上的错误代码是“err\u connection\u densed”)。

我可以打开一个节点管理器(http://127.0.0.1:8042)如下面的屏幕截图,但我无法打开“rm home”(url为“http://[private\u ip\u addr]:8088”)。

在配置文件时是否有任何错误,或者我的网络环境不正确?如果你需要我的网络信息(端口等),写了就写。
谢谢。
--加法--
(180506 23:00)
我检查了节点管理器日志文件。我发现出现了“无法确定操作系统”的错误。下面是日志文件的一部分。

2018-05-06 23:00:03,353 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainersLauncherEventType for class org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainersLauncher
2018-05-06 23:00:03,533 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.ContainerManagerEventType for class org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl
2018-05-06 23:00:03,534 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.NodeManagerEventType for class org.apache.hadoop.yarn.server.nodemanager.NodeManager
2018-05-06 23:00:03,642 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2018-05-06 23:00:03,822 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled Metric snapshot period at 10 second(s).
2018-05-06 23:00:03,822 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NodeManager metrics system started
2018-05-06 23:00:03,932 WARN org.apache.hadoop.yarn.util.ResourceCalculatorPlugin: java.lang.UnsupportedOperationException: Could not determine OS: Failed to instantiate default resource calculator.
java.lang.UnsupportedOperationException: Could not determine OS
    at org.apache.hadoop.util.SysInfo.newInstance(SysInfo.java:43)
    at org.apache.hadoop.yarn.util.ResourceCalculatorPlugin.<init>(ResourceCalculatorPlugin.java:41)
    at org.apache.hadoop.yarn.util.ResourceCalculatorPlugin.getResourceCalculatorPlugin(ResourceCalculatorPlugin.java:191)
    at org.apache.hadoop.yarn.server.nodemanager.NodeResourceMonitorImpl.serviceInit(NodeResourceMonitorImpl.java:73)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:357)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:636)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:684)

(180507 14:55)
我升级到hadoop3.0.0,然后错误“无法确定操作系统”被删除,但任务跟踪页面仍然无法工作。
我再次检查了nodemanager日志,然后找到了消息。

2018-05-07 14:53:14,803 INFO org.apache.hadoop.yarn.server.nodemanager.NodeManager: 
Node Manager health check script is not available or doesn't have execute permission, so not starting the node health script runner.

这是原因吗?
(180507 16:22)
我忘了运行jobhistoryserver,所以执行 $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver .

41446 JobHistoryServer
41672 NameNode
41779 DataNode
41924 SecondaryNameNode
42128 ResourceManager
42234 NodeManager
42772 Jps

看起来jobhistoryserver正在运行,但我无法打开作业跟踪页。
(180507 16:38)解决
我试图打开工作历史页面,而不是通过点击历史按钮来访问“http://localhost:19888“,然后我可以打开一个工作历史页!!

原因可能是
的设置属性 mapred-site.xml 以及其他(phani kumar yadavilli先生建议)
是否运行作业历史记录服务器进程。
使用url访问,不使用历史按钮
hadoop的版本。

p8ekf7hl

p8ekf7hl1#

您尚未指定正在使用的hadoop版本。在这个问题上有一个jira,从v2.9开始就有了修复程序
https://issues.apache.org/jira/browse/yarn-4330?devstatusdetaildialog=repository
您可以根据您的系统配置尝试设置以下参数。
目前Yarn中有两种计算器可用–defaultresourcecalculator和dominantresourcecalculator。
这个 DefaultResourceCalculator 计算时只考虑内存。这就是在中执行分配时忽略cpu需求的原因 CapacityScheduler 默认情况下。所有分配的数学运算都简化为只检查资源请求所需的内存和在特定调度周期中查看的节点上可用的内存。
为了启用cpu调度,管理员和用户需要知道一些配置属性。 scheduler.capacity.resource-calculator :在中启用cpu调度 CapacityScheduler ,应设置为 org.apache.hadoop.yarn.util.resource.DominantResourceCalculator 在capacity-scheduler.xml文件中。 nodemanager.resource.cpu-vcores :设置为中的适当数字 yarn-site.xml 在所有节点上。这严格取决于集群中运行的工作负载类型,但一般建议管理员将其设置为等于计算机上的物理核心数。mapreduce框架有自己的配置,用户应该使用这些配置来利用yarn中的cpu调度。 map.cpu.vcores :设置为每个Map任务所需的vCore数。 reduce.cpu.vcores :设置为每个reduce任务所需的vCore数。 yarn.app.mapreduce.am.resource.cpu-vcores :设置为mr appmaster需要的vCore数。

相关问题