zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    cmd 一键获取 所有连接过的wifi 密码
    MYSQL注入语句
    Web安全篇之SQL注入攻击
    Kali Linux 不能联网上网 解决方法
    php杂项
    laravel下的数据序列化
    填充数据
    css
    array
    GD库常用函数
  • 原文地址:https://www.cnblogs.com/Merodach/p/9141336.html
Copyright © 2011-2022 走看看