Flink 1.2 没有在 HA Cluster 模式下启动

Posted

技术标签:

【中文标题】Flink 1.2 没有在 HA Cluster 模式下启动【英文标题】:Flink 1.2 does not start in HA Cluster mode 【发布时间】:2017-03-14 18:16:10 【问题描述】:

我已经在 HA 集群模式下安装了 Flink 1.2 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”)它将设置为“无”并在 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 分支。

还有其他人遇到过这种情况吗?

【问题讨论】:

是的,我相信这是一个错误:issues.apache.org/jira/browse/FLINK-6000 您好,是的,如果您回复问题,我可以将其标记为已回答 【参考方案1】:

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

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

【讨论】:

以上是关于Flink 1.2 没有在 HA Cluster 模式下启动的主要内容,如果未能解决你的问题,请参考以下文章

Flink Flink JobManager HA 机制的扩展与实现

AIX下的ha高可用集群cluster

HA ,CLUSTER ,RAC这几个概念我老弄混,谁帮我分析下,都分别啥意思,特别ha ,cluster

Flink HA

cluster

34补-2 HA Cluster基础及heartbeat实现HA