继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Spark On YARN 集群安装部署

蓝山帝景
关注TA
已关注
手记 430
粉丝 46
获赞 150

本文展示了在之前搭建的Hadoop分布式集群的基础上如何搭建Spark分布式集群环境

一、已有环境

ubuntu 14.04
hadoop 2.7.1 集群安装参考
三台机器
master、slave1、slave2

二、scala安装

1.Scala官网下载地址:http://www.scala-lang.org/download/
2.安装步骤
tar -zxvf scala-2.11.8.tgz
sudo mv scala-2.11.8 /home/cms/
修改/etc/profile

export PATH=$SCALA_HOME/bin
export CLASSPATH=$SCALA_HOME/lib```
立即生效
```source  /etc/profile```
3.测试
```scala -version```
![](http://upload-images.jianshu.io/upload_images/1908836-6a0270619ab4bc77.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####三、安装spark
1.Spark官方下载链接:
http://spark.apache.org/downloads.html
2.解压安装
```tar -zxvf spark-2.0.1-bin-hadoop2.7```
```spark-2.0.1-bin-hadoop2.7 /home/cms/```
修改/etc/profile
```export SPARK_HOME=$HOME/scala-2.11.8export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin
export CLASSPATH=$SPARK_HOME/lib```
立即生效
```source  /etc/profile```
3.修改权限
```sudo chown -R cms spark-2.0.1-bin-hadoop2.7```
4.配置spark,进入到conf目录
```cp spark-env.sh.template spark-env.sh```
添加内容

export SCALA_HOME=$HOME/scala-2.11.8
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_HOME=$HOME/hadoop-2.7.1
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master

SPARK_LOCAL_DIRS=$HOME/spark-2.0.1-bin-hadoop2.7

SPARK_DRIVER_MEMORY=1G

JAVA_HOME 指定 Java 安装目录;
SCALA_HOME 指定 Scala 安装目录;
SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址;
SPARK_WORKER_MEMORY 指定的是 Worker 节点能够分配给 Executors 的最大内存大小;
HADOOP_CONF_DIR 指定 Hadoop 集群配置文件目录。```vim slaves```在slaves文件下填上slave主机名:

slave1
slave2

####四、配置slave机器将配置好的spark、scala文件夹分发给所有slaves吧

sudo scp -r spark-2.0.1-bin-hadoop2.7 cms@slave1:/home/cms
sudo scp -r spark-2.0.1-bin-hadoop2.7 cms@slave2:/home/cms
sudo scp -r scala-2.11.8 cms@slave1:/home/cms
sudo scp -rscala-2.11.8 cms@slave2:/home/cms

修改/etc/profile,不再累述####五、启动spark```start-all.sh``` 启动hadoop集群
```start-master.sh start-slaves.sh```
启动主节点和从节点
jps

![](http://upload-images.jianshu.io/upload_images/1908836-d29ff61ba6ff236c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![](http://upload-images.jianshu.io/upload_images/1908836-275116824a1fde81.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)####六、测试进入Spark的Web管理页面: http://master:8080![](http://upload-images.jianshu.io/upload_images/1908836-a26d4232f5383514.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)####七、运行实例1.准备
在HDFS上放置文件1.txt

cat 1.txt


we rj lo
we ko ls
we rt ou

```hadoop fs -put 1.txt /tmp/1.txt```2.spark-shell运行
是Spark自带的一个Scala交互Shell,可以以脚本方式进行交互式执行
进入Spark-Shell
只需要执行```spark-shell```即可:
在Spark-Shell中我们可以使用scala的语法进行简单的测试
![](http://upload-images.jianshu.io/upload_images/1908836-137833880fdce8b8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
上面的操作中创建了一个RDD file,执行了两个简单的操作:
count()获取RDD的行数
first()获取第一行的内容
操作完成后,Ctrl D组合键退出Shell。3.pyspark
pyspark类似spark-shell,是一个Python的交互Shell。
执行```pyspark```启动进入pyspark:
![](http://upload-images.jianshu.io/upload_images/1908836-19a5c6e96b7504f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
操作完成后,Ctrl D组合键退出Shell。3.使用pyspark连接master再次进行上述的文件行数测试,如下图所示,注意把MASTER参数替换成你实验环境中的实际参数:
![](http://upload-images.jianshu.io/upload_images/1908836-16d34fe34b73df01.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
刷新master的web页面,可以看到新的Running Applications
,如下图所示:

![](http://upload-images.jianshu.io/upload_images/1908836-661fd1b4fd234b7c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)####八、停止服务```stop-master.sh    stop-slaves.sh```####九、参考文档[Spark On YARN 集群安装部署](http://wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/)
[Spark 1.6.1分布式集群环境搭建](https://my.oschina.net/jackieyeah/blog/659741)
[spark集群安装与配置](http://www.itdadao.com/articles/c15a489218p0.html)



作者:玄月府的小妖在debug
链接:https://www.jianshu.com/p/2f6a85fe7b92


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP