Spark集群部署一共分为三种情况:stantalone模式,spark on Yarn模式,Meso模式,这里只说前两种模式搭建;
Spark的Standalone模式部署:
1)复制spark的conf目录下三个文件并且重新命名;
$>cp spark-env.sh.template spark-env.sh
添加以下内容,注意:“=”附近无空格:
export JAVA_HOME=/home/hyxy/soft/jdk
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077
$>cp slaves.template slaves
添加工作节点(Worker),如下:
master
slave1
slave2
$>cp spark-defaults.conf.template spark-defaults.conf
2)远程scp复制spark安装目录至其它节点:slave1和slave2;
3)修改slave1、slave2等的环境变量;
4)开启spark Standalone集群的守护进程
$>start-master.sh //开启spark的Master守护进程
$>start-slaves.sh //开启spark的Worker守护进程
5)测试是否成功
访问WebUI界面:http://master:8080
$>spark-shell --master spark://master:7077
这里说一下shpark-env.sh这个文件,它里面有集群安装的提示可以多看一下;
Spark的spark on Yarn模式部署:
1)修改spark-env.sh文件,添加以下内容:
export HADOOP_CONF_DIR=/home/hadoop/soft/hadoop/etc/hadoop (路径为hadoop的安装路径下的etc/hadoop)
2)测试:
开启hadoop:
$>zkserver.sh start
$>start-dfs.sh
$>start-yarn.sh
启动spark:
$>spark-shell --master yarn-client
注意:这个时候会抛异常是因为hadoop的校验所引起:
a.可以关掉两个校验:
修改{HADOOP_HOEM/etc/hadoop}/yarn-site.xml
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
分发至集群其它节点,重启Hadoop,即可!!
b.修改内核参数