MapReduce执行程序的时候卡在了running job,我觉得问题可能出在上一行的那个master,应该换成具体ip,但是不知道怎么改?
该回答引用ChatGPT4与博主@晓码自在合作编写:
MapReduce 程序执行时卡在 running job 状态,很有可能是因为 master 节点不可达造成的。master 节点默认是 localhost,你需要将其换成具体的 ip 或主机名。
具体做法如下:
找到你的 MapReduce 程序配置文件,通常为 mapred-site.xml。
在该配置文件中,找到 mapreduce.jobtracker.address 的配置项。默认值为:
xml
<property>
<name>mapreduce.jobtracker.address</name>
<value>localhost:9001</value>
</property>
xml
<property>
<name>mapreduce.jobtracker.address</name>
<value>node01:9001</value>
</property>
重新启动 ResourceManager 和 NodeManager 服务。
重新运行你的 MapReduce 程序。
检查 ResourceManager UI,如果你的程序不再卡在 running job 状态,那么说明配置生效,master 节点不可达的问题解决了。
注意:这里的 konwn_hosts 文件指的是 hadoop 集群每个节点上都有的一个文件,记录了各个节点的 ip 或主机名与主机名的映射关系。你需要在该文件中查找你的 ResourceManager 节点的 ip 或主机名。
修改 master 节点地址是一个比较常见的解决 MapReduce 程序执行问题的方法。