Hadoop入门(十二)Intellij IDEA远程向hadoop集群提交mapreduce作业
Intellij IDEA远程向hadoop集群提交mapreduce作业,需要依赖到hadoop的库,hadoop集群的配置信息,还有本地项目的jar包。
一、软件环境
(1)window本地安装hadoop软件
首先将集群上的hadoop环境下载到本地,本文是在“A:\soft\hadoop-2.6.0”
(2)设置环境变量HADOOP_HOME
HADOOP_HOME=A:\soft\hadoop-2.6.0
HADOOP_BIN_PATH=%HADOOP_HOME%\bin
HADOOP_PREFIX=A:\soft\hadoop-2.6.0
PATH追加路径;%HADOOP_HOME%\bin
注意:配置好环境变量重启电脑
(3)添加winutils.exe和hadoop.dll(x86)
下载对应版本的文件:https://github.com/steveloughran/winutils
winutils.exe放置到HADOOP_HOME/bin下
hadoop.dll放置到HADOOP_HOME/bin和C:\Windows\System32下
选择正确的版本,下载相同版本的hadoop.dll,或者版本稍高
注意:hadoop-2.6.0的hadoop.dll大小是94KB,网上的其他hadoop.dll的大小不一样的不是2.6.0版本的。
常见问题:
1)Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable HADOOP_HOME\bin\winutils.exe in the Hadoop binaries.
HADOOP_HOME/bin没有winutils.exe
2)Could not locate executable null \bin\winutils.exe in the hadoop binaries
环境变量未生效
3)Unable to load native-hadoop library for your platform… using builtin-Java classes where applicable
4)java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray
hadoop.dll未放置到C:\Windows\System32或者hadoop.dll文件不正确
二、项目设置
(1)配置文件
拷贝hadoop集群中配置文件core-site.xml、mapred-site.xml、yarn-site.xml到项目,以及设置log4j.properties文件
(2)设置配置文件的host
(3)设置项目打包
右击项目名称,选择Open Module Settings,选择Artifacts,点击中间绿色的+号,选择JAR,再选择From module with dependencies,填写启动主类MainClass保存
(4)跨平台设置
Configuration conf = new Configuration();conf.set("mapreduce.app-submission.cross-platform", "true");
//跨平台提交,在windows下如果没有这句代码会报错 "/bin/bash: line 0: fg: no job control"
(5)设置jar路径,否则hadoop会找不到jar
项目的jar输出路径为.\\out\\artifacts\\hadoop_test_jar\\hadoop-test.jar,在项目打包设置的输出路径
Job job = new Job(conf, "word count");
String jar = ".\\out\\artifacts\\hadoop_test_jar\\hadoop-test.jar";
job.setJar(jar);//项目打包的jar设置到jar
job.setJarByClass(WordCount.class);
常见问题:
1)Exception message: /bin/bash: 第 0 行:fg: 无任务控制
Stack trace: ExitCodeException exitCode=1: /bin/bash: 第 0 行:fg: 无任务控制
未设置跨平台提交job
2)Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.mk.mapreduce.WordCount$MyMapper not found
未设置job.setJar()方法
3)system times on machines may be out of sync
1、安装ntpdate工具
#cenos
yum -y install ntp ntpdate
#ubuntu
sudo apt install ntp ntpdate
2、 设置系统时间与网络时间同步
ntpdate cn.pool.ntp.org
Hadoop入门(十二)Intellij IDEA远程向hadoop集群提交mapreduce作业相关推荐
- 网络编程懒人入门(十二):快速读懂Http/3协议,一篇就够!
本文中文译文由作者"ably.io"发布于公众号"高可用架构",译文原题:<深入解读HTTP3的原理及应用>.英文原题:<HTTP/3 dee ...
- IM开发者的零基础通信技术入门(十二):上网卡顿?网络掉线?一文即懂!
[来源申明]本文引用了微信公众号"鲜枣课堂"的<上网慢?经常掉线?这篇文章告诉你该怎么办!>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注 ...
- 十二个“一”与耍猴(互动媒体技术作业)
十二个"一"与耍猴(互动媒体技术作业) 角色简介 第一章 耍猴之兴 第二章 耍猴之变 第三章 第四章 -- 总结 角色简介 本文故事时间为古代某时期,文中时间点与现实无关,故事背景 ...
- Hadoop集群三种作业调度算法介绍
Hadoop集群中有三种作业调度算法,分别为FIFO,公平调度算法和计算能力调度算法 先来先服务(FIFO) Hadoop中默认的调度器FIFO,它先按照作业的优先级高低,再按照到达时间的先后选择被执 ...
- 【Python学习系列四】Python程序通过hadoop-streaming提交到Hadoop集群执行MapReduce
场景:将Python程序通过hadoop-streaming提交到Hadoop集群执行. 参考:http://www.michael-noll.com/tutorials/writing-an-had ...
- 架构系列二:使用Nginx+tomcat实现集群部署
架构系列二:使用Nginx+tomcat实现集群部署 一.环境介绍 VM1:Ubuntu-S100 IP:192.168.130.128 部署Tomcat应用及Nginx VM2:Ubuntu-S ...
- 客户端通过librados远程连接ceph集群
1.背景介绍 ceph集群作为存储服务器,自然需要有客户端连接服务器,把客户端的数据上传到服务器. 如果你选择用S3 API进行存储,那么客户端就是S3browser,与服务器连接的配置里,end ...
- Android入门(十二)SQLite事务、升级数据库
原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...
- 2021年大数据Hadoop(十二):HDFS的API操作
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的API操作 ...
最新文章
- 2021年大数据Spark(二十八):SparkSQL案例三电影评分数据分析
- 重磅开源人工智能纹理分割自动分割由参考纹理覆盖图像自监督学习
- 预备作业02 20162320刘先润
- 方程AX=b的解的讨论(特解、通解、零空间向量等概念)及其MATLAB实现
- 如何看待雅虎套现760亿美元从阿里巴巴退出?
- iPhone开发-输出口和操作(转)
- matlab mcc 安装,matlab中安装mcc
- hadoop yarn 集群配置
- 最全JavaScript基础总结~建议收藏
- MyBatis集成SpringMVC
- Jquery学习----选择器
- 专利申请模板(技术交底书)
- DSOframer 的简单介绍和资源整理(2015-09-02重新整理)
- 门禁系统java_java实现门禁系统
- 一看就懂!小白就能用python爬到又大又白的图片!
- Python里对于shape()的理解
- 普通蓝牙防丢器已过时,onn推出支持苹果 Find My 防丢器
- XLORE2:大规模跨语言知识图谱构建与应用
- node安装详细步骤
- 如何让div有focus或者blur事件?