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

  • 相关阅读:
    页面内容[置顶] 采用Div+Css布局——牛腩
    区域函数[置顶] linux 3.4.10 内核内存管理源代码分析5:伙伴系统初始化
    安装应用android批量安装APK
    选择版本Win7系统VS2010下搭建qt开发环境
    字体格式The format of Oracle tnsnames.ora file
    程序执行vhdl中延时器的编写
    概率链接nbu 2416 奇怪的散步
    中国主题ASP.Net课堂实验4
    要求终点HDU1010:Tempter of the Bone
    解决方案编程苦B和二B程序员别忘了养生
  • 原文地址:https://www.cnblogs.com/Merodach/p/9141336.html
Copyright © 2011-2022 走看看