CentOS6.5 安裝Spark集羣

1、安裝依賴軟件Scala(全部節點)java

一、下載Scala:http://www.scala-lang.org/files/archive/scala-2.10.4.tgzweb

二、解壓:shell

[root@Hadoop-NN-01 ~]# tar -xzvf scala-2.10.4.tgz -C /usr/local/

三、配置scala環境變量apache

[root@Hadoop-NN-01 ~]# vim /etc/profile
export SCALA_HOME=/usr/local/scala export PATH=$PATH:${SCALA_HOME}/bin [root@Hadoop-NN-01 ~]# source /etc/profile #使環境變量生效

四、測試scala運行環境vim

[root@Hadoop-NN-01 scala]# scala
scala> 15*15 res0: Int = 225

 

2、安裝sparkapi

一、下載spark:http://archive.cloudera.com/cdh5/cdh/5/spark-1.5.0-cdh5.6.0.tar.gz瀏覽器

理論上講CDH的一套是沒有問題,但是我裝了三個版本都沒有裝成功,啓動的時候始終一個錯:Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/Logger分佈式

提示缺乏slf4j依賴包:log4j-1.2.17.jar、 slf4j-api-1.7.10.jar、 slf4j-log4j12-1.7.10.jaroop

可我將這三個包放到lib下依然不行,最後只能下載的官方的安裝。若是有朋友知道原諒還請留言,謝謝!測試

引用【書憶江南】的回覆:

#CDH版的Spark安裝目錄下的/conf/spark-env.sh配置文件中,添加如下環境變量:export SPARK_DIST_CLASSPATH=(/mnt/sda6/Hadoop/hadoop−2.6.0−cdh5.15.0/bin/hadoopclasspath),給這個變量添加你已經安裝的CDHHadoop的類路徑,我看到別的教程說等號後面能夠直接(/mnt/sda6/Hadoop/hadoop−2.6.0−cdh5.15.0/bin/hadoopclasspath),給這個變量添加你已經安裝的CDHHadoop的類路徑,我看到別的教程說等號後面能夠直接(hadoop classpath),我試過,這樣只能啓動Master,啓動Worker進程的時候仍是會報缺Logger的錯。因此,必需要在括號內寫全CDH Hadoop的安裝路徑精確到/bin,而後再斜槓接上hadoop classpath才行。

export SPARK_DIST_CLASSPATH=$(/mnt/sda6/Hadoop/hadoop-2.6.0-cdh5.15.0/bin/hadoop classpath)

官方下載:http://www.apache.org/dyn/closer.lua/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz

二、解壓:

[root@Hadoop-NN-01 ~]# tar xzvf spark-1.6.0-bin-hadoop2.6.tgz

三、配置Spark環境變量

[root@Hadoop-NN-01 ~]# vim /etc/profile
export SPARK_HOME=/home/hadoopuser/spark-1.6.0-bin-hadoop2.6 export PATH=$PATH:${SPARK_HOME}/bin [root@Hadoop-NN-01 ~]# source /etc/profile #使環境變量生效

四、配置 ${SPARK_HOME}/conf/spark-env.sh

[hadoopuser@Hadoop-NN-01 conf]$ cp spark-env.sh.template spark-env.sh [hadoopuser@Hadoop-NN-01 conf]$ vim spark-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_73 export SCALA_HOME=/usr/local/scala export HADOOP_HOME=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0 export HADOOP_CONF_DIR=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/etc/hadoop 
export SPARK_MASTER_IP
=192.168.107.82 export SPARK_MASTER_PORT=8070 export SPARK_MASTER_WEBUI_PORT=8090

export SPARK_WORKER_CORES=1 #每一個Worker使用的CPU核數 export SPARK_WORKER_INSTANCES=1 #每一個Slave中啓動幾個Worker實例 export SPARK_WORKER_PORT=8092 #Worker的WebUI端口號 export SPARK_WORKER_MEMORY=1g #每一個Worker使用多大的內存

 

其它參數:

SPARK_MASTER_IP

綁定一個外部IP給master。

SPARK_MASTER_PORT

從另一個端口啓動master(默認: 7077)

SPARK_MASTER_WEBUI_PORT

Master的web UI端口(默認:8080)

SPARK_WORKER_PORT

啓動Spark worker 的專用端口(默認:隨機)

SPARK_WORKER_DIR

伸縮空間和日誌輸入的目錄路徑(默認:SPARK_HOME/work)

SPARK_WORKER_CORES

做業可用的CPU內核數量(默認:全部可用的)

SPARK_WORKER_MEMORY

做業可以使用的內存容量,默認格式1000M或者 2G (默認:全部RAM去掉給操做系統用的1 GB)注意:每一個做業本身的內存空間由SPARK_MEM決定。

SPARK_WORKER_WEBUI_PORT

worker 的web UI 啓動端口(默認:8081)

SPARK_WORKER_INSTANCES

每一個機器上運行worker數量(默認:1)當你有一個很是強大的計算機的時候和須要多個Spark worker進程的時候你能夠修改這個默認值大於1。若是你設置了這個值。要確保SPARK_WORKER_CORE 明確限制每個r worker的核心數,不然每一個worker 將嘗試使用全部的核心。

SPARK_DAEMON_MEMORY

分配給Spark master和 worker 守護進程的內存空間(默認:512m)

SPARK_DAEMON_JAVA_OPTS

Spark master 和 worker守護進程的JVM 選項(默認:none)

 

五、配置 {SPARK_HOME}/conf/ slaves

[hadoopuser@Hadoop-NN-01 conf]$ cp slaves.template slaves [hadoopuser@Hadoop-NN-01 conf]$ vim slaves #注意這裏添加全部工做節點的主機名或者ip #Hadoop-NN-01(若是既想當master又想當worker的話,能夠配置上。)
Hadoop-DN-01 Hadoop-DN-02

六、程序分發

scp -r spark-1.6.0-bin-hadoop2.6. hadoopuser@Hadoop-DN-01:/home/hadoopuser/ scp -r spark-1.6.0-bin-hadoop2.6. hadoopuser@Hadoop-DN-02:/home/hadoopuser/

七、啓動spark集羣

[hadoopuser@Hadoop-NN-01 sbin]# ./start-all.sh

單節點啓動:

sbin/start-master.sh               #啓動主節點
sbin/start-slave.sh 192.168.107.82:8070    #啓動從節點

八、運行示例程序

[hadoopuser@Hadoop-NN-01 spark-1.6.0-bin-hadoop2.6.]# ./bin/run-example SparkPi 10 > Sparkpilog.txt

九、驗證

1)jps

主節點多了Master

從節點多了Worker

2)瀏覽器查看http://192.168.107.82:8090/

十、使用spark-shell

[hadoopuser@Hadoop-NN-01 spark-1.5.0-cdh5.6.0]# bin/spark-shell

瀏覽器訪問SparkUI  http:// 192.168.107.82:4040/

能夠從 SparkUI 上查看一些 如環境變量、Job、Executor等信息。

至此,整個 Spark 分佈式集羣的搭建就到這裏結束。

十一、中止spark集羣

[hadoopuser@Hadoop-NN-01 sbin]# ./stop-all.sh
相關文章
相關標籤/搜索