Hadoop运行MR程序时出现的报错
前提:
在本地IDEA写完项目代码后,将整个项目打包上传到集群进行测试.
需要注意输入输出路径要写对
将两个文件上传到HDFS集群
# 上传文件 hadoop fs -put /opt/module/hadoop_file/input/friends.txt /opt/module/hadoop_file/input # 删除文件 hadoop fs -rm -f /opt/module/hadoop_file/input/friends.txt # 删除文件夹 hadoop fs -rm -r /opt/module/hadoop_file/input
开始启动MR程序进行jar包测试
# 运行MR程序
hadoop jar friends.jar com.lxz.friends.OneShareFriendsDriver
遇到的问题:
1.
报错信息:INFO mapreduce.Job: Task Id : attempt_1629344910248_0009_m_000000_0, Status : FAILED Error: java.io.IOException: Initialization of all the collectors failed. Error in last collector was :interface javax.xml.soap.Text
原因是在你的IDEA项目中, 依赖import javax.xml.soap.Text,应该import org.apache.hadoop.io.Text
2.
报错信息:INFO mapreduce.Job: Task Id : attempt_1607842602362_0032_m_000000_2, Status : FAIL
原因是你的输入文件中存在空格,仔细检查一下input文件书写格式
总结: MR还是比较费时费力的程序,优点在于只要自己写好程序的代码,调整好Mapper和Reducer的资源数,数据跑出来只是时间的问题.报错不可怕,一定要记得去hadoop安装的当前目录下的logs文件夹里去查看日志信息.
不要为了追逐,而忘记当初的样子。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话