环境: jdk1.8、hadoop-2.7、spark-1.6、三台centos7(如下List-1所示)
List-1 如下30上部署master;31上部署worker1;32上部署worker2
192.168.33.30 master
192.168.33.31 worker1
192.168.33.32 worker2
将jdk1.8、hadoop-2.7、spark-1.6文件夹放到三台机器的/opt下
修改spark的conf下的spark-env.sh文件(如果不存在,则cp spark-env.sh.template spark-env.sh),修改为如下List-2,这个修改三台机器上都要做:
List-2
export JAVA_HOME=/opt/jdk1.8
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.7/bin/hadoop classpath);
为什么List-2中需要将hadoop的classpath加入到其中,是因为spark自1.4之后,编译都是没有将hadoop的classpath编译进去的,所以必须在spark-env.sh中指定hadoop中的所有jar包。
在master机器上,spark安装目录,执行如下,之后在控制台就会打印出一些日志,从日志中可以看到master url和MasterWebUI
List-3
/bin/spark-class org.apache.spark.deploy.master.Master
在worker1/worker2,spark安装目录,执行如下,之后看MasterWebUI就会看到worker加入进去了
List-4
/bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.33.30:7077
到此我们的集群启动完成了。
接下来介绍另一种启动方式:
在master的spark安装目录下,执行如下,查看日志/opt/spark-mjduan/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out,可以看到master url和masterWebUrl:
List-5
[root@master spark-mjduan]# sbin/start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /opt/spark-mjduan/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out
在workerr1/worker2上,spark安装目录,执行如下:
List-6
[root@node2 spark-mjduan]# sbin/start-slave.sh spark://192.168.33.30:7077
starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark-mjduan/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-node2.out
之后看masterWebUrl,可以看到集群信息了。
(adsbygoogle = window.adsbygoogle || []).push({});