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

  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/jianyuan/p/4004428.html
Copyright © 2011-2022 走看看