TaskManagerをドッカーのswarmスタック上のJobManagerと通信させることはできません。Flink TaskManagerがdocker swarmタスクのJobManagerに接続できない
私はdocker stack deploy
に使用stack.yml
ファイルの内容は次のとおりです。
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
ドッカーイメージaffo/flink:1.1.3
https://github.com/apache/flink/tree/release-1.1.3-rc2/flink-contrib/docker-flink @ README次の組み込み画像のdockerhubにプッシュです。
ネットワークmy-net
は、オーバーレイが接続可能なネットワークです。
DNS解像度を使って他のすべてのコンテナにpingを実行しようとしましたが、すべて正常に動作します。
ただし、TaskManagerはJobManagerに渡すことができません。
私はJobManagerログをレポート:http://pastebin.com/Ai5s4Xvr
そして、もう一つのタスクマネージャのログ:http://pastebin.com/ty5pZhSp
JMはVIP 10.0.42.7を持っています。 jobmanager.rpc.address
は、jobmanager
に設定され、10.0.42.7に解決されます。
問題を解決するための助けやヒントがあれば幸いです。
ありがとうございます!
UPDATE
私はdocker exec <jobmanager> netstat -tulpn
の出力を追加します。
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
の:
telnet: can't connect to remote host (10.0.42.7): Connection refused
私もgithubの上で多分関連の問題へのリンクを置きます: https://github.com/docker/docker/issues/28795。
おかげで再び
UPDATE私は最近だけJobManagerので0.0.0.0
にjobmanager.rpc.address
を変更するために管理し、今では効果的に聞いている:
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:* -
私もnc
またはtelnet
することができますTaskManagersから。
しかし、今の問題は、(JobManagerに)です:
2017-02-09 10:31:20,794 ERROR akka.remote.EndpointWriter
- dropping message [class akka.actor.ActorSelectionMessage] for non-local recipient
[Actor[akka.tcp://[email protected]:6123/]] arriving at [akka.tcp://[email protected]:6123]
inbound addresses are [akka.tcp://[email protected]:6123]
任意の助けをいただければ幸いです、ありがとうございました!私は問題を隔離考える
UPDATE
。githubで開かれた問題:https://github.com/docker/docker/issues/30874