hadoop 提交程序并监控运行
程序编写及打包
-
使用maven导入第三方jar
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>hadoop-study</groupId> <artifactId>HadoopTest</artifactId> <version>4.0</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <hadoop.version>2.7.5</hadoop.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> <version>${hadoop.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>word-count</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugin</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.5</version> <configuration> <outputDirectory>${basedir}</outputDirectory> </configuration> </plugin> </plugins> </build> </project>
-
导入本地配置文件测试运行
在Idea 里选择ProjectStructure 添加hadoop配置路径并把它设为resource,可以进行build和run
-
打包文件提交运行
在Idea 里选择ProjectStructure 删除hadoop配置路径
在Idea 里选择ProjectStructure/Artifact,添加jar/from modules with dependencies,选择主类
hadoop jar HadoopTest.jar [args]
监视job运行状态
-
修改hadoop配置文件
<!--mapred-site.xml--> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> <!--yarn-site.xml--> <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> </configuration>
-
常用网址和命令
查看任务: hadoop job -list
杀死任务: hadoop job -kill jobid
任务页面:
常见问题
-
Class not found
-
在IDE编译的时候发生,可能是没有导入需要的依赖包
解决办法:使用maven配置依赖环境
-
当手动运行class 文件时发生,可能是没有设置hadoopclasspath
解决办法:export $HADOOP_CLASSPATH=CLASSPATH:".",或者是打包成jar运行
-
-
在任务页面无法看到job
原因:hadoop需要另外配置mapreduce的运行时环境,默认是local,需配置成yarn
解决办法:在mapred-site.xml中添加mapreduce.framework.name配置
-
retrying connecting 0.0.0.0
原因:没设置yarn.resourcemanger的主机ip,或者设置错文件
解决办法: 在yarn-site.xml 上添加yarn.resourcemanger.hoatname等信息
-
map卡在0%
原因:需要在yarn里面配置附属服务为mapreduce
解决办法:在yarn-site.xml 上添加yarn.nodemanager.aux-services
参考文章:
上一篇: 酒鬼喝酒的境界
推荐阅读
-
解决Hyper-V启动虚拟机提示无法启动虚拟机…监控程序未运行
-
hadoop 提交程序并监控运行
-
python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序
-
Python实现简单自动升级exe程序版本并自动运行,适合Python自动化运维。
-
教程|要想Hadoop能够运行Python程序,就要会MRJob
-
VBS监控CPU的使用率(如占用率一直维持在80%超过30秒则运行某程序)
-
编写计算并输出一个3*3阶矩阵对角线元素的和。 程序运行结果示例: 请输入数组元素:(3*3)↙ 1 2 3 4 5 6 7 8 9↙ ↙ 数组为:cqupt
-
使用windows下的Eclipse或者IDEA远程连接Linux的Hadoop并运行wordcount
-
MapReduce简介,功能,运行原理,job的提交过程,简单的MapReduce程序求最高气温
-
交叉编译并移植tslib-1.21和QT4.8.5运行第一个嵌入式Qt程序