shell半自動化部署standalone的spark分佈式集羣

背景:以前每次配置hadoop和spark都要各種輸入配置,太煩了。這次花了點時間,自己做了個shell來輔助自己的spark部署方式。cdh的hadoop沒有部署,以後再部署,hadoop和spark準備分開來搞。

shell半自動化部署standalone的spark集羣

一搞定3個虛擬機

我是使用的vm來做的三個虛擬機,系統爲centos6.5,現在各種系統都支持吧,詳細的可以看官網支持哪些系統。
虛擬機自己搞,我這裏貼出機器名和host

vim /etc/sysconfig/network
hostname=master

vim /etc/sysconfig/network
hostname=slave1

vim /etc/sysconfig/network
hostname=slave2

vim /etc/hosts
192.168.247.132 master
192.168.247.133 slave1
192.168.247.134 slave2

就是下面三臺
這裏寫圖片描述

二 安裝免密碼

1配置免密碼服務(自動化)
首先各個機器需要產生公鑰ssh-keygen -t rsa(必須做的),且每個機器的節點的密碼最好一樣,因爲運行shell的時候需要手動輸入密碼,這裏輸入spark用戶的密碼
我是使用新建的用戶spark安裝的

然後在master節點運行自己寫的shell,半自動化運行免密碼
1是slave節點ip
2是slave節點同步過來的公鑰(臨時目錄)
3是運行shell
shell保存的路徑爲/tmp/authorize
ps:使用spark用戶的話,公鑰生成在/home/spark/.ssh目錄哈
這裏寫圖片描述

三 安裝jdk,scala,spark

這裏主要是使用自己 寫的shell把jdk,scala,spark解壓,改名,配置/etc/profile
三臺節點都要把/home目錄的權限改了,因爲我要裝在/home/目錄(個人習慣),我目錄寫死了的,可以把shell修改一下
chmod 777 /home
運行這個/tmp/config_shell/run_config.sh就可以了,不過中間會讓你輸入密碼哈,因爲需要修改/etc/profile的內容

下面是目錄的一下描述,要使用的話,把shell的裏面的目錄修改就好了
安裝shell的保存路勁:/tmp/config_shell
/etc/profile文件的配置:/tmp/config_shell/config_etc_profile.sh
jdk的解壓與改名:/tmp/config_shell/config_jdk.sh
scala的解壓與改名:/tmp/config_shell/config_scala.sh
spark的解壓與改名:/tmp/config_shell/config_spark.sh
總的運行shell:/tmp/config_shell/run_config.sh
配置spark的配置文件(spark-env.sh,slaves):/tmp/config_shell/config_spark_evn.sh
把主節點的所有安裝配置發送到從節點:/tmp/config_shell/distribute_slaves.sh
這裏寫圖片描述

軟件保存路勁:/home/dowload/
/home/dowload/jdk-7u79-linux-x64.tar.gz
/home/dowload/scala-2.11.8.tgz
/home/dowload/spark-2.0.0-bin-hadoop2.6.tgz

這裏寫圖片描述

軟件安裝路勁:/home/
/home/jdk1.7
/home/scala2.11
/home/spark2.0
這裏寫圖片描述

四:配置spark的配置文件

通過shell修改spark的一些配置文件:

#主要修改的:
1spark-env.sh
2slaves
#修改spark的配置文件
/tmp/config_shell/config_spark_evn.sh
#把jdk,scala,spark,/etc/profile,傳輸到各個節點中
/tmp/config_shell/distribute_slaves.sh

每個文件使用scp時的用戶,會提升輸入密碼,這裏輸入root密碼
jdk:spark用戶
scala:spark用戶
spark:spark用戶
/etc/profile:root用戶

五驗證

對了,必要要在每個機器上使用source /etc/profile 或者重啓每臺機器。因爲在shell中,使用source /etc/profile沒有效果。

1啓動集羣

在master機器上運行
$SPARK_HOME/sbin/start-all.sh
這裏寫圖片描述

2查看啓動日誌並jps查看

more /home/spark2.0/logs/spark-spark-org.apache.spark.deploy.master.Master-1-master.out
下圖表示啓動成功,當然也要在每臺機器上jps,看看master和work進程是否運行
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

3web查看

http://192.168.247.132:8090/
默認是8080接口哈,但是我修改爲8090接口
這裏寫圖片描述

從上面可以看出,有兩臺slave節點哈,到這裏基於standalone的spark分佈式集羣安裝成功。

想把shell傳上來的,但是沒找到連接,csdn是不是不能傳,能的話,留言教我下哈。
對shell有興趣的可以聯繫我郵箱[email protected],或者留下郵箱,我發給大家。

發佈了26 篇原創文章 · 獲贊 20 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章