一、端口访问问题
问题描述
运行任务前一直重连。具体来说,错误发生在尝试从czs-virtual-machine虚拟机
的127.0.1.1
地址连接到同一台机器的8032
端口时,连接被拒绝。
如下:
2024-11-17 23:05:45,800 INFO retry.RetryInvocationHandler: java.net.ConnectException: Call
From czs-virtual-machine/127.0.1.1 to czs-virtual-machine:8032 failed on connection
exception: java.net.ConnectException: 拒绝连接; For more details see:
http://wiki.apache.org/hadoop/ConnectionRefused, while invoking
ApplicationClientProtocolPBClientImpl.getNewApplication over null after 1 failover
attempts. Trying to failover after sleeping for 42459ms
问题原因
ResourceManager的地址和端口未设置错误或设置错误。端口8032通常是YARN ResourceManager的RPC端口。如果ResourceManager没有启动或不能被虚拟机的环回地址访问到,就无法在该端口上接受连接,运行yarn相关操作。
解决方法
在yarn-site.xml中添加相关配置项。较为重要的,第二项:本机IP:端口号。
《虚拟机名称:端口号》可能是不被识别的!
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.147.130:8032</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.147.130:8099</value>
<description>这个地址是mr管理界面的</description>
</property>
</configuration>
解释
yarn.resourcemanager.address属性指定了ResourceManager的RPC(远程过程调用)地址。客户端(该虚拟机)和其他Hadoop组件(如NodeManager)将使用这个地址来与ResourceManager通信。如上,ResourceManager运行在IP地址为192.168.147.130
的虚拟机上,监听8032
端口。
相关注释:127.0.1.1
通常是一个环回(loopback)地址,它与更常见的 127.0.0.1
类似,都用于指代本机地址。环回地址是一种特殊的IP地址,用于网络设备(如计算机)在与自身通信时使用。
二、Runing job停顿问题
问题描述
在运行任务时卡住不动。
如下:
问题原因
首先可以明确是内存资源不足的问题,一个可能的原因是虚拟机磁盘占用过满,原本分配的20GB确已将满,不过在粗暴地重新添加分配内存至40GB没有解决。可见,涉及mapreduce内部资源调配问题。
问题解决流程:经查阅,将原本的mapred-site.xml中的内容进行更正或可以解决问题?更正过程如下:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
更改为:
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop100:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop100:19888</value>
</property>
</configuration>
再次运行代码,可以运行,但是其实是在本地运行,并没有解决问题。
之后几经周折(找人帮忙),有时正常运行有时报错,大概追究至代码问题,现已不愿再调试找错。(实在累了)。给个建议:还是先多查查代码,先确认本地能运行。还有就是先了解基本原理再实操,事半功倍,遇到问题也不会毫无头绪。
希望有大佬能加以点拨,之后有时间弄懂的话也会加更。
日志:
三、VScode远程运行连接断联问题
注意vscode远程连接端口不要和配置文件中可能的端口重复。