hadoop 提交程序并监控运行详解大数据

程序编写及打包

  1. 使用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>

  2. 导入本地配置文件测试运行

    在Idea 里选择ProjectStructure 添加hadoop配置路径并把它设为resource,可以进行build和run

  3. 打包文件提交运行

    在Idea 里选择ProjectStructure 删除hadoop配置路径

    在Idea 里选择ProjectStructure/Artifact,添加jar/from modules with dependencies,选择主类

    hadoop jar HadoopTest.jar [args]

监视job运行状态

  1. 修改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>

  2. 常用网址和命令

    查看任务: hadoop job -list

    杀死任务: hadoop job -kill jobid

    任务页面:http://master:8088

常见问题

  1. Class not found

    • 在IDE编译的时候发生,可能是没有导入需要的依赖包

      解决办法:使用maven配置依赖环境

    • 当手动运行class 文件时发生,可能是没有设置hadoopclasspath

      解决办法:export $HADOOP_CLASSPATH=CLASSPATH:”.”,或者是打包成jar运行

  2. 在任务页面无法看到job

    原因:hadoop需要另外配置mapreduce的运行时环境,默认是local,需配置成yarn

    解决办法:在mapred-site.xml中添加mapreduce.framework.name配置

  3. retrying connecting 0.0.0.0

    原因:没设置yarn.resourcemanger的主机ip,或者设置错文件

    解决办法: 在yarn-site.xml 上添加yarn.resourcemanger.hoatname等信息

  4. map卡在0%

    原因:需要在yarn里面配置附属服务为mapreduce

    解决办法:在yarn-site.xml 上添加yarn.nodemanager.aux-services

参考文章:https://blog.csdn.net/tangtang5156/article/details/40867759

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/9144.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论