0

我已经在本地以 HA 集群模式 2 JobManagers 1 TaskManager 安装了 Flink 1.2,但它一直拒绝以显示“正在启动集群”的模式实际启动。消息而不是“在 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”)它将设置为“无”并在 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 分支。

还有其他人遇到过这个吗?

4

1 回答 1

1

是的,我相信这是一个错误:issues.apache.org/jira/browse/FLINK-6000。

它已经有一个待处理的 PR。

于 2017-03-15T09:42:32.273 回答