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

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

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了;

Spark系列(一)Spark1.0.0源码编译及安装的更多相关文章

  1. spark2.1.0的源码编译

    本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http:// ...

  2. 英蓓特Mars board的android4.0.3源码编译过程

    英蓓特Mars board的android4.0.3源码编译过程 作者:StephenZhu(大桥++) 2013年8月22日 若要转载,请注明出处 一.编译环境搭建及要点: 1. 虚拟机软件virt ...

  3. 非寻常方式学习ApacheTomcat架构及10.0.12源码编译

    概述 开启博客分享已近三个月,感谢所有花时间精力和小编一路学习和成长的伙伴们,有你们的支持,我们继续再接再厉 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Tomcat官 ...

  4. 解决Tomcat10.0.12源码编译问题进而剖析其优秀分层设计架构

    概述 Tomcat.Jetty.Undertow这几个都是非常有名实现Servlet规范的应用服务器,Tomcat本身也是业界上非常优秀的中间件,简单可将Tomcat看成是一个Http服务器+Serv ...

  5. pentaho专题系列之kettle篇--kettle源码编译

    最近看了一些kettle的文章,都是kettle7.0以前的,已经跟不上时代了.截止笔者写这篇文章的时候,github上面的已经是7.1.0.3了,而且是发行版的,最新的快照版本已经是8.0的了.基于 ...

  6. Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装

    Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...

  7. Spark-2.0.2源码编译

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6813925210731840013/ Spark官网下载地址: http://spark.apache.org/d ...

  8. android 5.0 (lollipop)源码编译环境搭建(Mac OS X)

    硬件环境:MacBook Pro Retina, 13-inch, Late 2013 处理器  2.4 GHz Intel Core i5 内存  8 GB 1600 MHz DDR3 硬盘60G以 ...

  9. hadoop2.0 eclipse 源码编译

    在eclipse下编译hadoop2.0源码 http://www.cnblogs.com/meibenjin/archive/2013/07/05/3172889.html hadoop cdh4编 ...

  10. kafka 0.11.0.3 源码编译

    首先下载 kafka 0.11.0.3 版本 源码: http://mirrors.hust.edu.cn/apache/kafka/0.11.0.3/ 下载源码 首先安装 gradle,不再说明 1 ...

随机推荐

  1. JDK和Jython安装

    下载JAVA SE,下载地址请到oracle官方网站下载. JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  2. 2.Hashing

    散列法(Hashing)或哈希法是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法.由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来 ...

  3. Unity3d Shader开发(五)Fallback ,Category

    Fallback定义在所有子着色器后.简单来说,它表示"如果没有任何子着色器能被运行在当前硬件上,请尝试使用降级着色器". Syntax 语法 Fallback "nam ...

  4. Unity3d Shader开发(一)Properties

    着色器可以定义一个参数列表,可以由开发者在材质检视面板编辑参数.着色器文件中的Properties块定义了这些参数: 语法: Properties { Property [Property ...] ...

  5. 视频边下边播--缓存播放数据流-b

    google搜索“iOS视频变下边播”,有好几篇博客写到了实现方法,其实只有一篇,其他都是copy的,不过他们都是使用的本地代理服务器的方式. 原理很简单,但是缺点也很明显,需要自己写一个本地代理服务 ...

  6. gei shilei d

    body, p { margin: 0; padding: 0; font-size: 16px; } div { margin: 0 auto; } .wrapper { width: 1080px ...

  7. 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处

    使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过程序限定字数:二是有利于SEO.需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友好 ...

  8. C++ new operator, delete operator, operator new, operator delete, new placement

    http://www.younfor.com/cpp-new-placement-new-operator-new.html http://www.cnblogs.com/luxiaoxun/arch ...

  9. Linux系统调用列表

    转自Linux系统调用列表 一.进程控制: fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtabl ...

  10. 【NOIP 2013 DAY2 T3】 华容道(spfa)

    题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 ...