今天在Hadoop集群运行jar包时一直卡在INFO mapreduce.Job: Running job这个位置,于是上网查了一下,找到了一些解决方案:
下面是卡住都得位置 :
首先是在我在yarn-site.xml中加
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
出现此故障的原因可能是,在每个虚拟机分配的内存和CPU资源太少,不能满足Hadoop运行所需的默认资源需求
但是我配置完重启集群后运行jar包还是卡在了相同的位置,于是又换了一种方法:
更改mapred-site.xml:将
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
改成
<property>
<name>mapreduce.job.tracker</name>
<value>hdfs://192.168.196.21:8001</value>
<final>true</final>
</property>
其中IP是master的地址。
然后将修改后的文件分发到其他节点的相同路径:
scp mapred-site.xml node002:`pwd`
scp mapred-site.xml node003:`pwd`
scp mapred-site.xml node004:`pwd`
重启集群
stop-dfs.sh
start-dfs.sh
再包次运行jar包,结果正常。