1. 程式人生 > >spark 1 5 1 叢集部署

spark 1 5 1 叢集部署

實驗環境

作業系統:ubuntu 14.04 64位

主機名 IP
Master 10.107.12.10
Worker1 10.107.12.20
Worker2 10.107.12.50
Worker3 10.107.12.60

JDK 安裝

實驗安裝的是jdk1.7.0_71版本,具體安裝步驟及環境變數設定參考

這裡


SSH 無密登入

下面是我寫的一個自動化SSH 無密登入指令碼,執行指令碼前需要安裝expect包,ubuntu 系統下直接執行:sudo apt-get install expect就可以了。該指令碼執行在namenode上,執行時只需要將IP_1改成對應的datanode地址,PWD_1是對應datanode密碼。

# NO_PWD_SSH
#!/bin/sh 
IP_1=10.107.12.20,10.107.12.50,10.107.12.60
PWD_1=111111

key_generate() {
    expect -c "set timeout -1;
        spawn ssh-keygen -t dsa;
        expect {
            {Enter file in which to save the key*} {send -- \r;exp_continue}
            {Enter passphrase*} {send -- \r;exp_continue}
            {Enter same passphrase again:} {send -- \r;exp_continue}
            {Overwrite (y/n)*} {send -- n\r;exp_continue}
            eof             {exit 0;}
    };"
} auto_ssh_copy_id () { expect -c "set timeout -1; spawn ssh-copy-id -i $HOME/.ssh/id_dsa.pub [email protected]$1; expect { {Are you sure you want to continue connecting *} {send -- yes\r;exp_continue;} {*password:} {send -- $2\r;exp_continue;} eof {exit 0;} };"
} rm -rf ~/.ssh key_generate ips_1=$(echo $IP_1 | tr ',' ' ') for ip in $ips_1 do auto_ssh_copy_id $ip $PWD_1 done eval &(ssh-agent) ssh-add
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

安裝 scala

1. 下載 scala 2.11.4

下載地址點這裡

2. 解壓

tar zxvf scala-2.11.4.tgz解壓,解壓後放在了/root/spark_sdk/目錄下。

tar zxvf scala-2.11.4.tgz
  • 1

3. 設定環境變數

~/.bashrc檔案中加入如下命令:

export SCALA_HOME=/root/spark_sdk/scala-2.11.4
PATH=$PATH:$SCALA_HOME/bin
  • 1
  • 2

使環境變數生效:source ~/.bashrc


安裝 Spark 1.5.1

1. 下載 Spark 1.5.1

下載地址點這裡

2. 解壓

tar zxvf spark-1.5.1-bin-hadoop2.6.tgz解壓,解壓後放在了/root/spark_sdk/目錄下。

3. 設定環境變數

~/.bashrc檔案中加入如下命令:

export SPARK_HOME=/root/spark_sdk/spark-1.5.1-bin-hadoop2.6 
PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
  • 1
  • 2

使環境變數生效:source ~/.bashrc

4. 修改Spark 配置檔案

spark-env.sh 檔案

export JAVA_HOME=/root/spark_sdk/jdk1.7.0_71
  • 1

yarn-env.sh 檔案

export SCALA_HOME=/root/spark_sdk/scala-2.11.4
export JAVA_HOME=/root/spark_sdk/jdk1.7.0_71
export SPARK_MASTER_IP=10.107.12.10
export SPARK_WORKER_MEMORY=2048m
export HADOOP_CONF_DIR=/root/spark_sdk/hadoop-2.7.1/etc/hadoop
  • 1
  • 2
  • 3
  • 4
  • 5

這裡10.107.12.10是Master節點IP

slaves 檔案

10.107.12.20
10.107.12.50
10.107.12.60
  • 1
  • 2
  • 3

上面3個IP分別對應的是Worker節點的IP。

5. 啟動Spark

./sbin/start-all.sh
  • 1

6. 叢集啟動驗證

執行jps命令,可以查詢到有如下程序說明叢集部署成功!

Master
Worker
  • 1
  • 2

執行SparkPi

spark-submit  --master spark://10.107.12.10:7077 --class org.apache.spark.examples.SparkPi --name Spark-Pi /root/spark_sdk/spark-1.5.1-bin-hadoop2.6/lib/spark-examples-1.5.1-hadoop2.6.0.jar
  • 1

使用web檢視Spark執行狀態

http://10.107.12.10:8080
  • 1

這裡的IP就是Master節點地址。

7. 關閉叢集

關閉叢集執行sbin/stop-all.sh


【完】

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed