1.ssh互信
2.配置scala
3.配置spark-env.sh
export SCALA_HOME=/apps/scala-2.10.6
export JAVA_HOME=/apps/jdk
export SPARK_MASTER_IP=10.10.69.195
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g
4.配置slaves
将所有节点host加入该文件
5.启动
./sbin/start-all.sh
5.提交任务
spark-submit --master spark://xxx.xxx.xxx.xxx:7077 --jars $LIBJARS --class xxx.xxx.xxx xxx.jar [param]
6.参数调优
1、spark.driver.maxResultSize 8g driver获得处理结果的最大内存数,由于我要处理大矩阵,所以这个参数还是不得不改的
2、spark.yarn.executor.memoryOverhead 2048 跑了一段时间后发现很多executor堆外内存占用过大,采用这个参数后稍好
3、spark.shuffle.blockTransferService nio spark 1.2.0以后shuffle service改为了netty,这个很扯淡,我改为nio后堆外内存较少了很多,同时处理时间提示提升了一倍
本文详细介绍如何在集群上配置并启动Spark环境,包括SSH互信设置、Scala及Spark环境变量配置等步骤,并分享了针对大数据处理场景下Spark性能优化的经验。
947

被折叠的 条评论
为什么被折叠?



