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

相关推荐
Leon-Ning Liu16 小时前
Oracle数据库常用视图:dba_datapump_jobs
数据库·oracle·dba
zskj_zhyl17 小时前
智慧康养新篇章:七彩喜如何重塑老年生活的温度与尊严
大数据·人工智能·科技·物联网·生活
数据库生产实战17 小时前
Oracle 19C RAC下TRUNCATE TABLE的REUSE STORAGE选项作用和风险浅析!
数据库·oracle
小白银子17 小时前
零基础从头教学Linux(Day 60)
linux·数据库·mysql·oracle
瀚高PG实验室17 小时前
数据库安全配置指导
服务器·数据库·瀚高数据库
憋问我,我也不会18 小时前
MYSQL 命令
数据库·mysql
苗壮.18 小时前
「个人 Gitee 仓库」与「企业 Gitee 仓库」同步的几种常见方式
大数据·elasticsearch·gitee
驾数者18 小时前
Flink SQL入门指南:从零开始搭建流处理应用
大数据·sql·flink
乌恩大侠18 小时前
DGX Spark 恢复系统
大数据·分布式·spark
24K老游18 小时前
postgres15 flink cdc同步测试
数据库