Spark 1.0.0 部署Hadoop 2.2.0上

源碼編譯apache

 

個人測試環境:
app

 

  • 系統:Centos 6.4 - 64位
  • Java:1.7.45
  • Scala:2.10.4
  • Hadoop:2.2.0

 

Spark 1.0.0 源碼地址:http://d3kbcqa49mib13.cloudfront.net/spark-1.0.0.tgzide

解壓源碼,在根去根目錄下執行如下命令(sbt編譯我沒嘗試)
oop

./make-distribution.sh --hadoop 2.2.0 --with-yarn --tgz --with-hive
測試

幾個重要參數ui

--hadoop :指定Hadoop版本 url

--with-yarn yarn支持是必須的spa

--with-hive 讀取hive數據也是必須的,反正我很討厭Shark,之後開發們能夠在Spark上本身封裝SQL&HQL客戶端,也是個不錯的選擇。
.net

#      --tgz: Additionally creates spark-$VERSION-bin.tar.gz
#      --hadoop VERSION: Builds against specified version of Hadoop.
#      --with-yarn: Enables support for Hadoop YARN.
#      --with-hive: Enable support for reading Hive tables.
#      --name: A moniker for the release target. Defaults to the Hadoop verison.
scala

不想本身編譯的話直接下載二進制包吧:

Spark 1.0.0 on Hadoop 1 / CDH3, CDH4 二進制包:http://d3kbcqa49mib13.cloudfront.net/spark-1.0.0-bin-hadoop1.tgz

Spark 1.0.0 on Hadoop 2 / CDH5, HDP2 二進制包:http://d3kbcqa49mib13.cloudfront.net/spark-1.0.0-bin-hadoop2.tgz

  

進過漫長的等待,在源碼跟目錄下會生成一個tgz壓縮包     

 

 

 

把這個包copy到你想部署的目錄並解壓。

 

環境變量:

 

export SCALA_HOME=/opt/scala-2.10.4

export PATH=$PATH:$SCALA_HOME/bin

export SPARK_HOME=/opt/spark

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

 

 

特別注意:只須要把解壓包copy到yarn集羣中的任意一臺。一個節點就夠了,不須要在全部節點都部署,除非你須要多個Client節點調用spark做業。

在這裏咱們不須要搭建獨立的Spark集羣,利用Yarn Client調用Hadoop集羣的計算資源。

 

[plain]  view plain copy 在CODE上查看代碼片 派生到個人代碼片
  1. cp 解壓後的目錄/conf/log4j.properties.template 解壓後的目錄/conf/log4j.properties
  2. cp 解壓後的目錄/conf/spark-env.sh.template 解壓後的目錄/conf/spark-env.sh  

編輯spark-env.sh

 

 

 

export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop

export SPARK_MASTER_IP=master

export SPARK_MASTER_PORT=7077

export SCALA_HOME=/opt/scala-2.10.4

export JAVA_HOME=/opt/jdk1.7.0_45

 

編輯History Server

經過配置conf/spark-defaults.conf能夠查看已完成job的歷史記錄

spark.eventLog.enabled=true

spark.eventLog.dir=hdfs://XX

具體配置參見Spark1.0.0 history server 配置

 

這是個人配置,配置和以前的幾個版本略有不一樣,但大差不差。

 

用Yarn Client調用一下MR中的經典例子:Spark版的word count

這裏要特別注意,SparkContext有變更,以前版本wordcount例子中的的第一個參數要去掉。

 

[plain]  view plain copy 在CODE上查看代碼片 派生到個人代碼片
  1. SPARK_JAR=./lib/spark-assembly-1.0.0-hadoop2.2.0.jar \
  2. ./bin/spark-class org.apache.spark.deploy.yarn.Client \
  3. --jar ./lib/spark-examples-1.0.0-hadoop2.2.0.jar \
  4. --class org.apache.spark.examples.JavaWordCount \
  5. --args hdfs://master:9000/user/hadoop/README.md \
  6. --num-executors 2 \
  7. --executor-cores 1 \
  8. --driver-memory 1024M \
  9. --executor-memory 1000M \
  10. --name "word count on spark" 

運行結果在stdout中查看

 

 

相關文章
相關標籤/搜索