zoukankan      html  css  js  c++  java
  • 使用IDEA2017在Windows下编程并测试Hadoop2.7+Spark2.2+Azkaban

    1. 下载好IDEA HADOOP SPARK

    首先,配置IDEA, 在插件管理中使用IDEA在线库安装scala插件, 在在线库直接搜索即可;

    其次,配置Maven选项, 将Maven添加到IDEA;

     <mirrors>
        <mirror>
            <id>nexus-aliyun</id>
          <mirrorOf>*</mirrorOf>
          <name>Nexus aliyun</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
        
      </mirrors>
    

      

    最后,将windows依赖覆盖原先的linux依赖, 如下图;

    将其中的hadoop.dll 拷贝至 C:WindowsSystem32目录下 

    2. 向IDEA导入HADOOP jar包, 将本地hadoop下的, share目录中的五个文件夹导入, 如下图:

     

     将配置文件放入resources后,运行一些测试程序后发现:

    报错:  

    org.apache.hadoop.security.AccessControlException: Permission denied

    解决:  hadoop fs -chmod -R 755 /

    另外:  在pom中需加入:
    
    <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>${hadoop.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
                <version>${hadoop.version}</version>
            </dependency>
    

      

    最严重的如下, 因为我使用的mapred默认是yarn模式, 因此需要设置跨平台发送jar包:

    Exception message: /bin/bash: line 0: fg: no job control

    解决:

    Configuration conf = new Configuration();
    conf.set("mapred.remote.os","Linux");
    conf.set("mapreduce.app-submission.cross-platform","true");
    conf.set("mapred.jar","D:\WorkSpace\Web-DataAnalyze\pc\out\artifacts\pc\pc.jar");

     终于能run了!!!

     

    2. 测试SPARK, 在IDEA中建立SCALA工程, 并新建一个pom.xml转为Maven工程;

     最后, 将 Spark项目下的jars导入IDEA即可, 完成测试;

    3.  Cannot run program "git"

    yum install git

    git --version

  • 相关阅读:
    当我有一台服务器时我做了什么
    git 安装及基本配置
    关于大厂面试中问到的二十几个 HTTP 面试题
    日问周刊 | 全栈面试汇总 | 第七期
    dockerfile 最佳实践及示例
    面试官:如果 http 响应头中 ETag 值改变了,是否意味着文件内容一定已经更改
    Nginx 反向代理时获取用户的真实 IP
    Go 语言实现 HTTP 层面的反向代理
    Go 语言中的 Http 路由基础
    Json Schema
  • 原文地址:https://www.cnblogs.com/ruili07/p/10046076.html
Copyright © 2011-2022 走看看