spark配置雙master時一直處於standby的情況


一.情況描述

按照如下配置,使用zookeeper監聽

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark"

然后node2執行start-master.sh,預想的結果是node1處於活躍狀態,node2處於備用狀態,結果是兩個都是standby狀態

 於是,在網上找了許多資料,發現都無法解決,於是查看日志:

發現日志里面頻繁報出這幾個錯誤

 於是去網上查,發現網上說是zookeeper的錯,但是我之前安裝了hadoop、hive、hbase都能正常使用,應該不是zookeeper配置的錯,但是后來又看到一個

 這里說的是版本不匹配,但是我理解錯了我一直以為curator是zookeeper里面的,但其實是在spark里的

所有有兩個解決方案


 

二.解決方案

1.更換spark版本

我的spark版本下載的是3.2.0,是最新版的,zookeeper是3.4.9的,也正是因為spark是最新版的,zookeeper的版本沒有跟上(官網已更新到3.7.0),所以更換spark版本,那為啥不更換zookeeper嗎,其實也可以更換zookeeper的版本,但是spark3.2.0屬於不穩定的版本,3.0.x系列屬於最穩定的版本,加之之前都配置好了,不好修改zookeeper,所以更換spark版本,正好把借此把spark換成穩定版本。

2.更換zookeeper版本

根據我這的情況,spark3.2.0或者以后朝上的,zookeeper至少要3.4.9以上,因為我沒有嘗試修改zookeeper版本,所以盡量使用3.5或者3.6以上的zookeeper版本吧


 

三.運行結果

 殺掉node1的master

kill -9 進程

查看情況:

node1無法進入:

 間隔幾秒鍾后查看node2,因為需要有超時時間,檢測節點是否宕機:

 

發現node2已經成為master,接替了node1的工作,且處於活躍狀態。

 

到此,Standalone-HA集群模式也就搭建成功了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM