1. 程式人生 > 其它 >spark配置雙master時一直處於standby的情況

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版本吧