• Spark系列(一)Spark1.0.0源码编译及安装


    最近想对自己学的东西做些回顾,想到写博客是个不错的方式,方便他人也有利自己,刚开始写不足之处大家多担待。

    编译前需要安装JDK1.6以上、scala、Maven、Ant、hadoop2.20 如下图(/etc/profile):

    image

    Spark编译有提供了两种方式:

    1. Maven编译:在 /etc/profile文中添加:export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
      执行命令:mvn -Pyarn -Dhadoop.version=2.2.0 -Dyarn.version=2.2.0 -DskipTests clean package
    2. SBT 编译配置文件:Spark安装目录下的 project/SparkBuilder.scala 执行:SPARK_HADOOP_VERSION=2.2.0 SPARK_YARN=true sbt/sbt assembly

    说明:第一次编译时间会比较长因为需要下载依赖的jar包,(如果编译有失败基本上都是网络原因,重新执行编译命令就ok了);
    编译完Spark后整个目录大小大概900M,如果再通过scp拷贝到其他节点那占空间,所以下一步还需要生成Spark部署包;

    Spark 部署包生成命令make-distribution.sh
    --hadoop VERSION : Hadoop 版本号,不加此参数时hadoop 版本为1.0.4 。
    --with-yarn :是否支持Hadoop YARN ,不加参数时为不支持yarn 。
    --with-hive :是否在Spark SQL 中支持hive ,不加此参数时为不支持hive 。
    --skip-java-test :是否在编译的过程中略过java 测试,不加此参数时为略过。
    --with-tachyon :是否支持内存文件系统Tachyon ,不加此参数时不支持tachyon 。
    --tgz :在根目录下生成 spark-$VERSION-bin.tgz ,不加此参数时不生成tgz 文件,只生
    成/dist 目录。
    --name NAME :和— tgz 结

    例:
    生成支持yarn 、hive 的部署包:
    ./make-distribution.sh --hadoop 2.2.0 --with-yarn --with-hive --tgz

    注:参数具有顺序性,安装过程中又会输入提示(如果你的JDK版本不是1.6)直接输入YES回车即可;

    完成Spark部署包的生成后解压scp到各个节点,然后更改以下配置:    

    • 配置Spark安装目录下的 conf/slave文件,添加各个节点IP或主机名(如果配置主机名需配置 /etc/sysconfig/hosts文件 IP与主机名的对应关系) 4.2、配置Spark安装目录下的conf/spark-env.sh文件

      export SPARK_MASTER_IP=chenx  [Master主机名]
      export SPARK_MASTER_PORT=7077  [访问端口]
      export SPARK_WORKER_CORES=1  [使用的内核数]
      export SPARK_WORKER_INSTANCES=1  
      export SPARK_WORKER_MEMORY=3g  [使用内存大小]

      以下为Spark的HA配置根据需求二选一;

      //Spark 基于文件系统的HA配置

      export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/temp/recovery"

      //Spark基于zookeeper的HA配置

      export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181 -Dspar
      k.deploy.zookeeper.dir=/temp/recover"

     

    最后运行: ./sbin/start-all.sh

    单机模式运行jps命令看到 Master和Worker两个进程就ok了;

  • 相关阅读:
    Linux tcpdump命令详解
    移动开发网站收集
    Struts+2权威指南基于WebWork核心的MVC开发源码下载
    Eclipse+php插件+Xdebug搭建PHP完美开发/调试环境指南
    java相对目录和绝对目录解析
    python学习网站搜集
    window下开发iphone程序环境搭建iphone tool chain
    Windows下编译objectiveC
    java class路径获取
    完全优化MySQL数据库性能的八个方法
  • 原文地址:https://www.cnblogs.com/jianyuan/p/4004428.html
Copyright © 2020-2023  润新知