官方文档: http://spark.apache.org/docs/latest/cluster-overview.html
Server 1: 192.168.56.200 (Master + Worker)
Server 2: 192.168.56.201 (Worker)
1)安装JDK ~#tar xzf jdk-8u112-linux-x64.tar.gz ~#mv jdk1.8.0_112/ /srv/ ~#echo "JAVA_HOME=/srv/jdk1.8.0_112" >> /etc/environment ~#vim /etc/profile #在 export PATH 之前添加下行 pathmunge $JAVA_HOME/bin ~#reboot ~#java -version 2)修改主机名 ~#vim /etc/hosts #添加以下两行 192.168.56.200 node200 192.168.56.201 node201 ~#hostnamectl set-hostname node200 3)安装 Spark ~#tar xzf spark-2.0.2-bin-hadoop2.7.tgz ~#mv spark-2.0.2-bin-hadoop2.7 /srv/ ~#cd /srv/spark-2.0.2-bin-hadoop2.7/conf ~#mv spark-env.sh.template spark-env.sh ~#vim spark-env.sh #添加以下配置 SPARK_LOCAL_IP=192.168.56.200 SPARK_MASTER_HOST=node200 ~#mv slaves.template slaves ~#vim slaves #配置 worker 节点如下(每行一个主机名) node200 node201 ~#mv spark-defaults.conf.template spark-defaults.conf ~#vim spark-defaults.conf #配置默认的环境变量如下(使用spark-submit提交任务时使用) spark.master spark://node200:7077 4)在 201 机器上重复以上1和2两个步骤(以下一处不同的地方),安装第二个 Spark 节点。 hostnamectl set-hostname node201 5)从 node200 复制 Spark 到 node201 ,并修改 node201 的配置 ~#scp -r /srv/spark-2.0.2-bin-hadoop2.7 root@node201:/srv/ ~#ssh root@node201 ~#cd /srv/spark-2.0.2-bin-hadoop2.7/conf ~#vim spark-env.sh #修改以下配置 SPARK_LOCAL_IP=192.168.56.201 6)分别在每个节点设置环境变量 ~#echo "SPARK_HOME=/srv/spark-2.0.2-bin-hadoop2.7" >> /etc/environment ~#reboot 7)启动 Spark 集群,Master 和 Worker 节点均使用 Master节点(node200)的脚本启动 配置SSH免密登录(node200->node200, node200->node201) ~#ssh-keygen ~#ssh-copy-id root@node200 ~#ssh-copy-id root@node201 启动 Master、Worker ~#/srv/spark-2.0.2-bin-hadoop2.7/sbin/start-master.sh #启动 Master(node200) ~#/srv/spark-2.0.2-bin-hadoop2.7/sbin/start-slaves.sh #启动 Worker(node200 + node201) ~#cd /srv/spark-2.0.2-bin-hadoop2.7 测试提交任务 ~#./bin/spark-submit --class org.apache.spark.examples.JavaSparkPi ./examples/jars/spark-examples_2.11-2.0.2.jar 使用浏览器访问 http://192.168.56.200:8080/ #查看 Spark 集群状态