Spark run on mesos cluster mode
Spark Run On Mesos Cluster Mode
概述
Spark在1.4.0版本的支持了Mesos集群下的Docker支持(SPARK-2691)和Cluster模式(SPARK-6338)
接下来我们将配置下Spark运行在Mesos集群下的cluster模式。
NOTE Mesos版本0.21.0 Spark版本1.5.1
搭建Mesos集群
搭建Spark cluster环境
1.下载Spark TAR包
从官网下载预编译好的spark tar包
wget http://apache.fayea.com/spark/spark-1.5.1/spark-1.5.1-bin-hadoop2.6.tgz
2.添加Spark配置
## untar
tar -zxf spark-1.5.1-bin-hadoop2.6.tgz
## enter spark dir
cd spark-1.5.1-bin-hadoop2.6
## edit config file
vi conf/spark-env.sh
## 添加下面配置
######################################
export SPARK_LOCAL_IP=`ifconfig eth0 | awk '/inet addr/{print substr($2,6)}'` ## 我们Mesos集群通过IP通信,修改此配置将spark配置成spark通信
export SPARK_LOCAL_HOSTNAME=`ifconfig eth0 | awk '/inet addr/{print substr($2,6)}'`
######################################
vi conf/spark-defaults.conf
## 添加spark.executor.uri配置
####################################
spark.executor.uri http://download-server-ip/spark-1.5.1-bin-hadoop2.6.tgz ## 将download-server-ip改为对应的下载服务器地址
####################################
##
tar czf spark-1.5.1-bin-hadoop2.6.tgz spark-1.5.1-bin-hadoop2.6 ## 最后将打包好的tar包拷贝到web下载服务器
3.启动spark dispatcher
## start mesos dispatcher
sudo sbin/start-mesos-dispatcher.sh -m mesos://zk://zk1:2181,zk2:2181,zk3:2181/mesos -z zk1:2181,zk2:2181,zk3:2181 -h ip ## 将zk地址和ip地址该为对应的ip地址和本机ip
验证mesos dispatcher已经启动
netstat -lntp ## 看到7077端口和8081端口启动
4.运行hello word
Hello World代码
import org.apache.spark._
object Test {
def main(args: Array[String]) {
val sc = new SparkContext()
val count = sc.parallelize(1 to 1000).count
println(count)
}
}
利用sbt或者mvn编译并打包,并拷贝jar到下载服务器
运行代码
sudo bin/spark-submit --master mesos://dispatcher:7077 --deploy-mode cluster --class Test http://download-server-ip/helloworld.jar
可以访问http://dispatcher:8081来查看spark任务运行状态
浙公网安备 33010602011771号