spark 1 5 1 叢集部署
阿新 • • 發佈:2018-12-28
實驗環境
作業系統: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