搭建spark集群

tidb1.0開始支持spark,有個組件tiSpark,不過目前只支持spark2.1版本。所以為了啟用tiSpark,還需搭建spark集群。
在官網下載地址http://spark.apache.org/downloads.html上,我找到了with hadoop的版本。如下圖:

圖1.png

下載地址:https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz

目前手中有4臺資源
決定選用其中三臺搭建spark集群,一臺master,兩臺slave
鏈接如下:

域名 IP 主從關系
tidb1 192.168.122.16 Master
tidb2 192.168.122.18 Slave
tidb3 192.168.122.19 Slave

順便說一下,centos7的hostname設定和之前版本已經不一樣了。現在只需輸入以下命令指定

hostnamectl set-hostname name

name就是你需要指定的hostname

將壓縮包下載后,分別上傳至三臺server的/usr/local目錄下,并解壓

cd  /usr/local
tar zxvf spark-2.1.1-bin-hadoop2.7.tgz

準備

在搭建集群環境之前,首先要做的事情是讓這三臺機器可以互相免密登陸

編輯/etc/hosts

編輯三臺server的/etc/hosts
編輯后內容如下:

#127.0.0.1   localhost tidb1 localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#216.176.179.218 mirrorlist.centos.org
192.168.122.16 tidb1
192.168.122.18 tidb2
192.168.122.19 tidb3

注意:第一行一定要注釋,我在安裝過程中,spark啟動后,日志文件報錯,就是因為它沒有去找我下面指定的ip和域名,而是老是去連接127.0.0.1

然后讓它們生效

source /etc/hosts

安裝ssh和rsync

可以通過下面命令查看是否已經安裝:

rpm -qa|grep openssh
rpm -qa|grep rsync

如果沒有安裝ssh和rsync,可以通過下面命令進行安裝:

yum install ssh 
yum install rsync 
service sshd restart 

配置Master無密碼登錄所有Salve

tidb1節點的配置操作

以下是在tidb1節點的配置操作。

1)在tidb1節點上生成密碼對,在tidb1節點上執行以下命令:

ssh-keygen -t rsa -P ''

生成的密鑰對:id_rsa和id_rsa.pub,默認存儲在"/root/.ssh"目錄下。

2)接著在tidb1節點上做如下配置,把id_rsa.pub追加到授權的key里面去

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3)修改ssh配置文件"/etc/ssh/sshd_config"的下列內容,將以下內容的注釋去掉

# 啟用 RSA 認證
RSAAuthentication yes 
# 啟用公鑰私鑰配對認證方式
PubkeyAuthentication yes 
# 公鑰文件路徑(和上面生成的文件同)
AuthorizedKeysFile .ssh/authorized_keys

4)重啟ssh服務,才能使剛才設置有效。

service sshd restart

5)驗證無密碼登錄本機是否成功

ssh tidb1

6)接下來的就是把公鑰復制到所有的Slave機器上。使用下面的命令進行復制公鑰:

scp /root/.ssh/id_rsa.pub root@tidb2:/root/
scp /root/.ssh/id_rsa.pub root@tidb3:/root/

tidb2節點的配置操作

1)在"/root/"下創建".ssh"文件夾,如果已經存在就不需要創建了

mkdir /root/.ssh

2)將tidb1的公鑰追加到tidb2的授權文件"authorized_keys"中去

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

3)修改ssh配置文件"/etc/ssh/sshd_config"的下列內容,將以下內容的注釋去掉

# 啟用 RSA 認證
RSAAuthentication yes 
# 啟用公鑰私鑰配對認證方式
PubkeyAuthentication yes 
# 公鑰文件路徑(和上面生成的文件同)
AuthorizedKeysFile .ssh/authorized_keys

4)重啟ssh服務,才能使剛才設置有效

service sshd restart

5)切換到tidb1使用ssh無密碼登錄tidb2

ssh tidb2

6)把"/root/"目錄下的"id_rsa.pub"文件刪除掉

rm –r /root/id_rsa.pub

tidb3節點的配置操作

1)在"/root/"下創建".ssh"文件夾,如果已經存在就不需要創建了

mkdir /root/.ssh

2)將tidb1的公鑰追加到tidb3的授權文件"authorized_keys"中去

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

3)修改ssh配置文件"/etc/ssh/sshd_config"的下列內容,將以下內容的注釋去掉

# 啟用 RSA 認證
RSAAuthentication yes 
# 啟用公鑰私鑰配對認證方式
PubkeyAuthentication yes 
# 公鑰文件路徑(和上面生成的文件同)
AuthorizedKeysFile .ssh/authorized_keys

4)重啟ssh服務,才能使剛才設置有效

service sshd restart

5)切換到tidb1使用ssh無密碼登錄tidb3

ssh tidb3

6)把"/root/"目錄下的"id_rsa.pub"文件刪除掉

rm –r /root/id_rsa.pub

配置所有Slave無密碼登錄Master

tidb2節點的配置操作

1)創建tidb2自己的公鑰和私鑰,并把自己的公鑰追加到"authorized_keys"文件中,執行下面命令

ssh-keygen -t rsa -P ''
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

2)將tidb2節點的公鑰"id_rsa.pub"復制到tidb1節點的"/root/"目錄下

scp /root/.ssh/id_rsa.pub root@tidb1:/root/

tidb1節點的配置操作

1)將tidb2的公鑰追加到tidb1的授權文件"authorized_keys"中去

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

2)刪除tidb2復制過來的"id_rsa.pub"文件

rm –r /root/id_rsa.pub

配置完成后測試從tidb2到tidb1無密碼登錄

ssh tidb1

tidb3節點的配置操作

1)創建tidb3自己的公鑰和私鑰,并把自己的公鑰追加到"authorized_keys"文件中,執行下面命令:

ssh-keygen -t rsa -P ''
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

2)將tidb3節點的公鑰"id_rsa.pub"復制到tidb1節點的"/root/"目錄下

scp /root/.ssh/id_rsa.pub root@tidb1:/root/

tidb1節點的配置操作。

1)將tidb3的公鑰追加到tidb1的授權文件"authorized_keys"中去

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

2)刪除tidb3復制過來的"id_rsa.pub"文件

rm –r /root/id_rsa.pub

配置完成后測試從tidb3到tidb1無密碼登錄。

ssh tidb1

spark集群搭建

進入到Spark安裝目錄

cd /usr/local/spark-2.1.1-bin-hadoop2.7

進入conf目錄并重命名并修改spark-env.sh.template文件

cd conf/
mv spark-env.sh.template spark-env.sh
vim spark-env.sh

在該配置文件中添加如下配置

export JAVA_HOME=/usr/local/jdk18121
export SPARK_MASTER_IP=tidb1
export SPARK_MASTER_PORT=7077

保存退出
重命名并修改slaves.template文件

mv slaves.template slaves
vi slaves

在該文件中添加子節點所在的位置(Worker節點)

tidb2
tidb3

保存退出

配置環境變量:

vim /etc/profile

#set spark env
export SPARK_HOME=/usr/local/spark-2.1.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
source /etc/profile

將配置好的Spark拷貝到其他節點上

cd /usr/local
scp -r spark-2.1.1-bin-hadoop2.7 root@tidb2:$PWD
scp -r spark-2.1.1-bin-hadoop2.7 root@tidb3:$PWD

Spark集群配置完畢,目前是1個Master,2個Worker,在tidb1上啟動Spark集群

/usr/local/spark-2.1.1-bin-hadoop2.7/sbin/start-all.sh

啟動后,控制臺顯示如下

圖2.png

在瀏覽器中訪問tidb1:8080端口,可見啟動后情況,如下圖

圖3.png

關閉集群可用如下命令

/usr/local/spark-2.1.1-bin-hadoop2.7/sbin/stop-all.sh

總結

簡單介紹一下Spark集群的工作模式
首先啟動一個Master(我這里是tidb1),然后Master和各個Worker(我這里是tidb2和tidb3)進行通信,其中真正干活的是Worker下的Executor。
我們還需要有一個客戶端,這個客戶端叫做Driver。它首先和Master建立通信,然后Master負責資源分配,接著讓Worker啟動Executor,最后讓Executor和Driver進行通信。
效果圖如下:

圖4.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,441評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,211評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,736評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,475評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,834評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,009評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,559評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,306評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,516評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,728評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,132評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,443評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,249評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,484評論 2 379

推薦閱讀更多精彩內容