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

编译前需要安装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. 针对目前高校移动App的火热,哥决定点一把火

    最近正在做市场调研,还请众位大哥大姐们帮忙投个票,求扩散 http://user.qzone.qq.com/717010686/vote/00000000feb6bc2a3ebd1e53

  2. python 生成排列、组合以及选择

    from <python cookbook> 19.15 任务 需要对一个序列的排列(permutation).组合(combination)或选择(selection)进行迭代操作.即使 ...

  3. Codeforces Round #344 (Div. 2) C. Report

    Report 题意:给长度为n的序列,操作次数为m:n and m (1 ≤ n, m ≤ 200 000) ,操作分为t r,当t = 1时表示将[1,r]序列按非递减排序,t = 2时表示将序列[ ...

  4. vim emmet配置

    http://nerd-is.in/2013-12/learning-vim-again-1-install-vundle/ http://nerd-is.in/2013-12/learn-vim-a ...

  5. mvc3.0中[ValidateInput(false)]失效的问题

    在asp.net mvc3.0中[ValidateInput(false)]特性失效了,只需要在网站根目录中的web.config中做如下配置即可: <system.web> <ht ...

  6. hdu 3303 Harmony Forever (线段树 + 抽屉原理)

    http://acm.hdu.edu.cn/showproblem.php?pid=3303 Harmony Forever Time Limit: 20000/10000 MS (Java/Othe ...

  7. python 进程信息

    通过psutil模块读取机器进程信息: #-*- coding: UTF-8 -*-import psutil;import osimport CommMethod '''获取机器当前进程信息'''d ...

  8. 当页面编辑或运行提交时,出现“从客户端中检测到有潜在危险的request.form值”问题,该怎么办呢?

    最近在学习highcharts时,关于其中的导出功能,本来是想把导出的图片存放在本地,发现只有在电脑联网的情况下才可以一下导出图片,后来查阅了一番资料,才发现highcharts中的导出默认的官网服务 ...

  9. var a=[]; 和 var a=new Array(); 的区别,为什么前者效率高

    因为 JSON格式的语法是引擎直接解释的.而new Array 则需要调用Array的构造器.还有就是1.当你需要将一个数字转化为字符串时可以这样定义:var s=""+1; 这样 ...

  10. 【HDOJ】2430 Beans

    这题目用线段树超时了,其实也差不多应该超时.10^6大数据量.看了一下网上的解法是单调队列.大概了解了一下,是个挺有意思的数据结构.首先,需要求满足0<=(S[r]-S[l])%p<=k时 ...