Flink 1.2 を HA クラスター モード 2 JobManagers 1 TaskManager ローカルにインストールしましたが、このモードで実際に開始することを拒否し続け、「クラスターを開始しています」と表示されます。「ZooKeeper クォーラムで 2 つのマスターと 1 つのピアを使用して HA クラスターを開始しています」というメッセージの代わりに。
どうやら bin/config.sh で、次のような構成を読み取ります。
# High availability
if [ -z "${HIGH_AVAILABILITY}" ]; then
HIGH_AVAILABILITY=$(readFromConfig ${KEY_HIGH_AVAILABILITY} "" "${YAML_CONF}")
if [ -z "${HIGH_AVAILABILITY}" ]; then
# Try deprecated value
DEPRECATED_HA=$(readFromConfig "recovery.mode" "" "${YAML_CONF}")
if [ -z "${DEPRECATED_HA}" ]; then
HIGH_AVAILABILITY="none"
elif [ ${DEPRECATED_HA} == "standalone" ]; then
# Standalone is now 'none'
HIGH_AVAILABILITY="none"
else
HIGH_AVAILABILITY=${DEPRECATED_HA}
fi
else
HIGH_AVAILABILITY="none"
fi
fi
つまり、構成ファイルで「高可用性」キーに構成されているもの (私の場合、値は「zookeeper」) とは無関係に、それを「none」に設定し、bin/start-cluster.sh で設定します。
if [[ $HIGH_AVAILABILITY == "zookeeper" ]]; then
# HA Mode
readMasters
echo "Starting HA cluster with ${#MASTERS[@]} masters."
for ((i=0;i<${#MASTERS[@]};++i)); do
master=${MASTERS[i]}
webuiport=${WEBUIPORTS[i]}
ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l \"${FLINK_BIN_DIR}/jobmanager.sh\" start cluster ${master} ${webuiport} &"
done
else
echo "Starting cluster."
# Start single JobManager on this machine
"$FLINK_BIN_DIR"/jobmanager.sh start cluster
fi
最初の if ブランチに入ることはありません。
他の誰かがこれに直面しましたか?