hadoop2.5环境下编译spark并部署

1、环境介绍

    操作系统:linux
    jdk:1.7.0_67
    spark版本:1.6.0
    hadoop版本:2.5.0或者cdh2.5.0
    maven版本:3.5.4
    scala版本:2.11.1

2、编译准备

1)由于编译apache的spark,首先在maven的setting文件中增加阿里的源,
<mirror>
    <id>aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun repository</name>
    <url>
        http://maven.aliyun.com/nexus/content/groups/public/
    </url>
</mirror>

2)解压下载好的源码,并进行配置,
tar -zxvf spark.1.6.0.tgz -C /opt/tools/workspace/
编辑目录中的make-distribution.sh,在130行左右进行修改,修改信息如下:
    VERSION=1.6.0
    SCALA_VERSION=2.11.0
    SPARK_HADOOP_VERSION=2.5.0
    SPARK_HIVE=1
同时,修改spark里面的pom文件,把scala版本修改成2.11.0

3、开始编译

编译命令:
    ./make-distribution.sh --tgz \
    -Phadoop-2.4 \
    -Dhadoop.version=2.5.0 \
    -Pyarn \
    -Phive -Phive-thriftserver

注:编译过程比较久,可以提前准备好依赖的scala和zinc。

编译完成后,到spark-core的目录下查看一下


4、CDH版本的编译

4.1首先下载源码
从apache-spark的网站下载源码: 
    http://archive.cloudera.com/cdh5/cdh/5/
    各种配置步骤和apache的版本都一致
4.2编译准备
1)由于编译apache的spark,首先在maven的setting文件中增加cloudera的源,
<mirror>
    <id>cloudera</id>
    <mirrorOf>central</mirrorOf>
    <name>clouderarepository</name>
    <url>
        https://repository.cloudera.com/artifactory/cloudera-repos/
    </url>
</mirror>

2)解压下载好的源码,并进行配置,
tar -zxvf spark.1.6.0.tgz -C /opt/tools/workspace/
编辑目录中的make-distribution.sh,在130行左右进行修改,修改信息如下:
    VERSION=1.6.0
    SCALA_VERSION=2.11.0
    SPARK_HADOOP_VERSION=cdh-2.5.0
    SPARK_HIVE=1
同时,修改spark里面的pom文件,把scala版本修改成2.11.0
4.3开始编译
编译命令:
    ./make-distribution.sh --tgz \
    -Phadoop-2.4 \
    -Dhadoop.version=2.5.0-cdh5.3.6 \
    -Pyarn \
    -Phive -Phive-thriftserver

5、spark部署

spark和hadoop有点像,但是又不完全像。除了需要安装hadoop和scala外,还需要把环境变量设置好,这种操作在这里就不展示了。部署spark,需要修改一些配置文件。

spark-env.sh


export JAVA_HOME=Java安装目录 

export SCALA_HOME=Scala安装目录 

export HADOOP_HOME=hadoop安装目录 

export HADOOP_CONF_DIR=hadoop集群的配置文件的目录 

export SPARK_MASTER_IP=spark集群的Master节点的ip地址 

export SPARK_WORKER_MEMORY=每个worker节点能够最大分配给exectors的内存大小 

export SPARK_WORKER_CORES=每个worker节点所占有的CPU核数目

export SPARK_WORKER_INSTANCES=每台机器上开启的worker节点的数目

修改slaves文件

slave1
slave2
然后将配置好的复制到其他节点机器上。


最后,启动spark-shell测试运行一下,我是直接运行自己写的wordcount,简化代码如下:

sc.textFile("hdfs://master:9000/test/upload.csv").flatMap(_.split(" ")).map(_,1).reduceByKey(_ + _).collect








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值