天天看點

安裝spark - standalone模式

假設我們使用三台機器安裝spark,分别是host1、host2、host3. 其中,host2作為主節點。

安裝步驟如下。

1、下載下傳、解壓安裝檔案

wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz (下載下傳安裝檔案)

tar zxf spark-1.6.1-bin-hadoop2.6.tgz

2、修改配置檔案

cd spark-1.6.1-bin-hadoop2.6/

cp conf/slaves.template conf/slaves

vi conf/slaves

    host1

    host2

    host3

cp conf/spark-env.sh.template conf/spark-env.sh

vi conf/spark-env.sh

SPARK_MASTER_IP=host2

SPARK_MASTER_PORT=7001

SPARK_MASTER_WEBUI_PORT=7002

SPARK_WORKER_CORES=1

SPARK_WORKER_MEMORY=2g

SPARK_WORKER_PORT=7003

SPARK_WORKER_WEBUI_PORT=7004

SPARK_WORKER_INSTANCES=1

    JAVA_HOME=/storm/jdk1.8.0_60

3、設定無秘鑰登入及環境變量

確定“java -version”執行成功

配置無秘鑰登入:在master上用“ssh-kengen -t rsa”指令生成公私鑰對(回車兩次,私鑰無密碼),将公鑰複制到三台機器上的使用者主目錄下的.ssh檔案夾的authorized_keys檔案末尾。

配置環境變量(三台機器上都要執行):vi ~/.bash_profile

export SPARK_HOME=/home/wangshichun/spark-1.6.1-bin-hadoop2.6

生效環境變量:source ~/.bash_profile

4、複制配置檔案到其他機器

scp conf/slaves host1:$SPARK_HOME/conf

scp conf/slaves host3:$SPARK_HOME/conf

scp conf/spark-env.sh host1:$SPARK_HOME/conf

scp conf/spark-env.sh host3:$SPARK_HOME/conf

5、互動模式執行spark代碼,進行功能測試(也稱為Local模式部署)

在$SPARK_HOME目錄下:

./bin/spark-shell

./bin/spark-shell --master local[1]

./bin/spark-shell --master spark://host2:7001 (使用此中方式啟動spark-shell後,在master的ui界面上會看到“Running Applications”中有名為“Spark shell”的任務,spark-shell退出後,會出現在“Completed Applications”中)

--jars 參數可以将多個jar檔案(逗号分隔)添加到程式的classpath中

等出現“scala>”提示符後,輸入如下内容:

scala> var textFile = sc.textFile("file:///home/wangshichun/spark-1.6.1-bin-hadoop2.6/README.md")

textFile: org.apache.spark.rdd.RDD[String] = file:///home/wangshichun/spark-1.6.1-bin-hadoop2.6/README.md MapPartitionsRDD[5] at textFile at <console>:27

scala> textFile.first()

res3: String = # Apache Spark

scala> textFile.count()

res4: Long = 95

scala> val textFilter = textFile.filter(line => line.contains("Spark"))

textFilter: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[6] at filter at <console>:29

scala> textFilter.count()

res5: Long = 17

scala> :help 可檢視幫助,列出可用的指令

6、standalone模式部署

./sbin/start-master.sh

./sbin/start-slaves.sh

通路UI界面:

http://host2:7002/ MARSTER的UI界面

http://host1:7003/ WORKER的UI界面

http://host2:7003/ WORKER的UI界面

http://host3:7003/ WORKER的UI界面

此模式下,需要通過spark-submit腳本送出jar檔案來送出自己寫的spark程式代碼。

繼續閱讀