Spark 编译及部署

    Spark编译不是很复杂,使用maven就可以编译,但对maven的内存要求较高。

    1、export MAVEN_OPTS=”-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m”

    2、mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package

          因为我是要跑在yarn上,其中要指定hadoop版本。

    除了第一次需要下载大量jar包,其它编译大概需要20分钟左右,编译好后在$SPARK_HOME/assembly/target/scala-2.10/ 下面有个jar包,大概100多兆,这是我们部署用的。


    Spark部署和配置也不难,从官网下载发布包(非刚才的源码包)即可,需要以下几步就可以部署使用。

    1、$SPARK_HOME/lib  下替换spark-assmbly的jar包,替换为刚才编译出来的jar包

    2、在$SPARK_HOME/conf  配置spark-env.sh

export SPARK_YARN_JAR==hdfs://ns1/spark/jar/spark-assembly-1.2.1-hadoop2.4.0.jar                #上传刚编译的jar包到dfs上,让所有worked都能get到

export HADOOP_CONF_DIR=/usr/local/hadoop-2.4.0/etc/hadoop                    #Hadoop配置路径

export YARN_CONF_DIR=$HADOOP_CONF_DIR              #Yarn配置路径

export SPARK_DAEMON_JAVA_OPTS=”-Djava.library.path=/usr/local/hadoop-2.4.0/lib/native/ -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data0/hadoop/gclog/heap.dump.spark”

export SPARK_SUBMIT_LIBRARY_PATH=/usr/local/hadoop-2.4.0/lib/native/         #LD_LIBRARY使用,调用native库用,如果使用lzo等配置好

     

     3、在$SPARK_HOME/conf下配置spark-default.sh

 

 

spark.yarn.historyServer.address *.*.*.*:18080     #yarn historyserver地址

 

spark.eventLog.enabled true

 

spark.eventLog.dir   hdfs://ns1/spark/logs

 

 

    至此,Spark配置完成,如果在YARN上跑一下测试可以用$SPARK_HOME/bin/spark-shell —master yarn-client


Print Friendly

jiang yu

Leave a Reply