首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flink TaskManager无法连接到停靠群任务中的JobManager

Flink TaskManager无法连接到停靠群任务中的JobManager
EN

Stack Overflow用户
提问于 2017-02-08 15:16:26
回答 1查看 2.1K关注 0票数 4

我无法设法使TaskManager与码头群堆栈上的JobManager通信。

用于stack.ymldocker stack deploy文件的内容如下:

代码语言:javascript
复制
version: "3"
services:
  jobmanager:
    image: affo/flink:1.1.3
    ports:
      - "48081:8081"
    command: jobmanager
    networks:
      - my-net
    deploy:
        mode: replicated
        replicas: 1
        restart_policy:
            condition: none
        placement:
            constraints:
                - node.role == manager

  taskmanager:
    image: affo/flink:1.1.3
    depends_on:
      - jobmanager
    command: taskmanager
    networks:
      - my-net
    deploy:
        mode: replicated
        replicas: 4
        restart_policy:
            condition: none
        placement:
            constraints:
                - node.role != manager

networks:
    my-net:
        external: true

Docker affo/flink:1.1.3是对构建在README @ https://github.com/apache/flink/tree/release-1.1.3-rc2/flink-contrib/docker-flink之后的映像的docker集线器的推动。

网络my-net是一种覆盖可连接的网络。

我试图使用DNS解析从其他容器中选择每个容器,并且一切都正常工作。

然而,没有一个TaskManager能够通过JobManager。

我报告JobManager日志:http://pastebin.com/Ai5s4Xvr

和一个TaskManager:http://pastebin.com/ty5pZhSp的日志

JM的VIP为10.0.42.7。jobmanager.rpc.address设置为jobmanager,解析为10.0.42.7。

任何帮助或提示,从哪里开始解决问题,将不胜感激。

非常感谢!

更新

我添加了docker exec <jobmanager> netstat -tulpn的输出

代码语言:javascript
复制
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.11:40762        0.0.0.0:*               LISTEN      -
tcp        0      0 ::ffff:10.0.42.7:6123   :::*                    LISTEN      218/java
tcp        0      0 :::8081                 :::*                    LISTEN      218/java
tcp        0      0 :::34963                :::*                    LISTEN      218/java
udp        0      0 127.0.0.11:57000        0.0.0.0:*                           -

docker exec <a_taskmanager> telnet jobmanager 6123

代码语言:javascript
复制
telnet: can't connect to remote host (10.0.42.7): Connection refused

我还链接到github上一个可能相关的问题:https://github.com/docker/docker/issues/28795

再次感谢

更新

我最近只在JobManager那里成功地将jobmanager.rpc.address更改为0.0.0.0,现在它正在有效地侦听:

代码语言:javascript
复制
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.11:56218        0.0.0.0:*               LISTEN      -
tcp        0      0 :::6123                 :::*                    LISTEN      218/java
tcp        0      0 :::8081                 :::*                    LISTEN      218/java
tcp        0      0 :::55231                :::*                    LISTEN      218/java
udp        0      0 127.0.0.11:47549        0.0.0.0:*                           -

我甚至可以从nctelnet从TaskManagers。

但是,现在的问题是(在JobManager上):

代码语言:javascript
复制
2017-02-09 10:31:20,794 ERROR akka.remote.EndpointWriter                
- dropping message [class akka.actor.ActorSelectionMessage] for non-local recipient
[Actor[akka.tcp://flink@10.0.42.7:6123/]] arriving at [akka.tcp://flink@10.0.42.7:6123]
inbound addresses are [akka.tcp://flink@0.0.0.0:6123]

任何帮助都将不胜感激,谢谢!

更新

我想我孤立了这个问题。在github:https://github.com/docker/docker/issues/30874上发行

EN

回答 1

Stack Overflow用户

发布于 2017-02-10 11:56:47

如果您遵循在Github上打开的问题,您可以理解真正的问题在于群集本地网络VIP的分配。我把它关掉了现在一切都正常了。

实际上,到目前为止还没有办法从撰写文件中关闭它,因此,我不得不切换到一个脚本部署,而不是一个自动的docker stack deploy

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42116934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档