Spark2.0.2集群搭建

海上生明月,天涯共此时。

唐·张九龄·望月怀远

Spark2.0.2集群搭建步骤

  1. 下载对应版本安装包

下载地址spark官网:http://spark.apache.org/downloads.html
这里我们使用 spark-2.0.2-bin-hadoop2.7版本.

  1. 上传安装包到服务中
  1. 先规划一下安装目录
/root/apps
  1. 将安装包解压到目录
tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz
  1. 将解压目录重新命名
mv spark-2.0.2-bin-hadoop2.7 spark
  1. 修改配置文件
#配置spark-env.sh
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
#配置java环境变量
export JAVA_HOME=/opt/bigdata/jdk1.7.0_67
#指定spark老大Master的IP
export SPARK_MASTER_HOST=hdp-node-01
#指定spark老大Master的端口
export SPARK_MASTER_PORT=7077

#配置slaves
mv slaves.template slaves
vi slaves
#添加worker的主机名

node2
node3
  1. 配置spark的环境变量
export SPARK_HOME=/root/apps/spark
export PATH=$PATH:$SPARK_HOME/bin
  1. 拷贝文件到其他节点
1、spark安装目录
2、spark的环境变量文件/etc/profile

scp -r spark root@node2:$SPARK_HOME
scp /etc/profile root@node2:/etc
  1. 让/etc/profile文件生效
source /etc/profile
  1. 启动spark集群
$SPARK_HOME/sbin/start-all.sh
spark master的web管理界面地址
http://node1:8080
  1. 停止spark集群
$SPARK_HOME/sbin/stop-all.sh

注意在hadoop集群中同样存在 start-all.sh 和 stop-all.sh 这样的脚本,那么这个时候你在执行的时候就要小心了,最好是通过绝对路径指定对应的框架脚本,然后在运行。

Spark HA

前提条件:已安装ZK集群

修改配置文件

vim spark-env.sh
#1、注释掉export SPARK_MASTER_HOST=hdp-node-01
#2、在spark-env.sh添加SPARK_DAEMON_JAVA_OPTS,内容如下:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hdp-node-01:2181,hdp-node-02:2181,hdp-node-03:2181 -Dspark.deploy.zookeeper.dir=/spark"

spark.deploy.recoveryMode:恢复模式(Master重新启动的模式)
有三种:(1)ZooKeeper (2) FileSystem (3)NONE
spark.deploy.zookeeper.url:ZooKeeper的Server地址
spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录
包括Worker,Driver和Application

在普通模式下启动spark集群,只需要在主机上面执行start-all.sh 就可以了。在高可用模式下启动spark集群,先需要在任意一台主节点上启动start-all.sh命令。然后在另外一台主节点上单独启动master。命令start-master.sh。

初识Spark程序

普通模式提交任务

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node2:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
examples/jars/spark-examples_2.11-2.0.2.jar \
10

高可用模式提交任务

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hdp-node-01:7077,hdp-node-02:7077,hdp-node-03:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
lib/spark-examples-1.6.2-hadoop2.6.0.jar \
10
#程序会轮询列表,找到活着的Master
0%