Hadoop运行Mapreduce问题集锦——Ubuntu虚拟机配置

一、端口访问问题

问题描述

运行任务前一直重连。具体来说,错误发生在尝试从czs-virtual-machine虚拟机的127.0.1.1地址连接到同一台机器的8032端口时,连接被拒绝。

如下:

bash 复制代码
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:端口号。

《虚拟机名称:端口号》可能是不被识别的!

XML 复制代码
<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中的内容进行更正或可以解决问题?更正过程如下:

XML 复制代码
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

更改为:

XML 复制代码
<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远程连接端口不要和配置文件中可能的端口重复。

相关推荐
ClickHouseDB6 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906946 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺7 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw7 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
龙亘川8 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
BJ_Bonree8 小时前
博睿数据亮相第41届BFSI IT Summit Thailand
大数据·人工智能·物联网
好焊孙辉8 小时前
六成份额之后:鸿栢科技扩大产业规模的几点思考
大数据·人工智能·科技
跨境小彭8 小时前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu
数智园区合作社8 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai