spark集群搭建
1.Standalone集群搭建与Spark on Yarn配置
Standalone:Standalone集群是Spark自带的资源调度框架,支持分布式搭建。
搭建建议:
Standalone节点数为3台,1台master,2台worker。
虚拟机中每台节点的内存至少给2G和2个核(core)
这样才能保证后期Spark基于Standalone的正常运行。
2.搭建Standalone集群的步骤:
1)下载安装包,解压
1.登录Spark官网下载Spark,官网网址:spark.apache.org
2.点击“Download”找到“Spark release archives”找到对应的Spark版本下载
3.将下载好的Spark安装包上传到Master节点上,并解压
tar -zxvf ./spark-2.3.1-bin-hadoop2.6.tgz
2) 改名
mv ./spark-2.3.1-bin-hadoop2.6 spark2.3.1
3) 进入安装包的conf目录下,复制slaves.template文件,去掉template后缀,在新的slaves文件中添加从节点并保存。
mv slaves.template slaves
4) 复制$SPARK_HOME/conf/spark-env.sh.template为spark-env.sh,并修改spark-env.sh文件,内容如下:
SPARK_MASTER_HOST:master的ip
SPARK_MASTER_PORT:提交任务的端口,默认是7077
SPARK_WORKER_CORES:每个worker从节点能够支配的core的个数
SPARK_WORKER_MEMORY:每个worker从节点能够支配的内存数
JAVA_HOME:java的home路径,这里需要jdk1.8,注意如果jdk是直接通过解压环境配置的jdk,该配置项需要配置
5) 同步到其他节点上
scp -r ./spark-2.3.1/ node1:`pwd`
scp -r ./spark-2.3.1/ node2:`pwd`
6) 启动集群:进去master节点$SPARK_HOEM/sbin目录下,执行当前目录下的./start-all.sh
./start-all.sh
7) 搭建客户端:将spark安装包原封不动的拷贝到一个新的节点上,然后,在新的节点上提交任务即可。
注意:8080是Spark WebUI界面的端口,而7077是Spark任务提交的端口
可以通过修改master的WebUI端口:
vim $SPARK_HOME/conf/spark-env.sh
export SPARK_MASTER_WEBUI_PORT = 9999
Yarn Spark也可以基于Yarn进行任务调度。
Spark基于Yarn进行任务调度只需要在Spark客户端做如下配置:
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
注意:需要将每台NodeManager节点中将每台NodeManager的虚拟内存关闭,在每台NodeManager节点的$HADOOP_HOME/etc/hadoop/yarn-site.xml中加入如下配置:
<!-- 关闭虚拟内存检查 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
Spark提交任务的两个方式的命令
Standalone 提交命令:
./spark-submit --master spark://node1:7077 --calss org.apache.spark.examples.SparjPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100
Spark on Yarn 提交命令:
./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100
可以通过Spark自带的Spark Pi案例测试两种提交方式命令。
|