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后堆外内存较少了很多,同时处理时间提示提升了一倍