Mesosスレーブをそのマスターに接続しようとしています。スレーブがマスターに接続しようとするたびに、次のメッセージが表示されます。
I0806 16:39:59.090845 935 hierarchical.hpp:528] Added slave 20150806-163941-1027506442-5050-921-S3 (debian) with cpus(*):1; mem(*):1938; disk(*):3777; ports(*):[31000-32000] (allocated: )
E0806 16:39:59.091384 940 socket.hpp:107] Shutdown failed on fd=25: Transport endpoint is not connected [107]
I0806 16:39:59.091508 940 master.cpp:3395] Registered slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian) with cpus(*):1; mem(*):1938; disk(*):3777; ports(*):[31000-32000]
I0806 16:39:59.091747 940 master.cpp:1006] Slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian) disconnected
I0806 16:39:59.091868 940 master.cpp:2203] Disconnecting slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian)
I0806 16:39:59.092031 940 master.cpp:2222] Deactivating slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian)
I0806 16:39:59.092248 939 hierarchical.hpp:621] Slave 20150806-163941-1027506442-5050-921-S3 deactivated
エラーは次のようです:
E0806 16:39:59.091384 940 socket.hpp:107]シャットダウンがfd = 25で失敗しました:トランスポートエンドポイントが接続されていません[107]
ホストは以下を使用して開始されました:
./mesos-master.sh --ip=10.129.62.61 --work_dir=~/Mesos/mesos-0.23.0/workdir/ --zk=zk://10.129.62.61:2181/mesos --quorum=1
そして奴隷
./mesos-slave.sh --master=zk://10.129.62.61:2181/mesos
ホストと同じVM=でスレーブを実行すると、問題なく動作します。
私はインターネットで多くの情報を見つけることができませんでした。 VirtualBox 5で2つの仮想ボックス(Debian 8.1)を実行しています。ホストはWindows 7です。
編集1:
マスターとスレーブはどちらも専用VMで実行されます。
両方のVMのネクストワークは、ブリッジネットワークを使用して構成されます。
マスターからのifconfig:
eth0 Link encap:Ethernet HWaddr 08:00:27:cc:6c:6e
inet addr:10.129.62.61 Bcast:10.129.255.255 Mask:255.255.0.0
inet6 addr: fe80::a00:27ff:fecc:6c6e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5335953 errors:0 dropped:0 overruns:0 frame:0
TX packets:1422428 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:595886271 (568.2 MiB) TX bytes:362423868 (345.6 MiB)
スレーブからのifconfig:
eth0 Link encap:Ethernet HWaddr 08:00:27:56:83:20
inet addr:10.129.62.49 Bcast:10.129.255.255 Mask:255.255.0.0
inet6 addr: fe80::a00:27ff:fe56:8320/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4358561 errors:0 dropped:0 overruns:0 frame:0
TX packets:3825 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:397126834 (378.7 MiB) TX bytes:354116 (345.8 KiB)
編集2:
スレーブログは http://Pastebin.com/CXZUBHKr にあります。
マスターログは http://Pastebin.com/thYR1par にあります。
同様の問題がありました。私のスレーブのログはいっぱいになります
E0812 15:58:04.017990 2193 socket.hpp:107] Shutdown failed on fd=13: Transport endpoint is not connected [107]
私のマスターは
F0120 20:45:48.025610 12116 master.cpp:1083] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins
そしてマスターは死に、新しい選挙が起こり、殺されたマスターはupstart(私はCentos 6ボックスにいます)によって再起動され、潜在的なマスターのプールに追加されます。したがって、選出されたマスターは、マスターノードの周りにデイジーチェーン接続します。マスターとスレーブを何度も再起動しても、マスターの選択から1分以内に問題が再発することはありませんでした。
私の解決策は、このスタックオーバーフローの質問(ありがとう)とgithubのヒント Gist note から来ました。
その要点は/etc/default/mesos-master
であり、クォーラム番号を指定する必要があります(私の場合は、メソマスターの数に対して正しい必要があります3)
MESOS_QUORUM=2
ファイル/etc/mesos-master/quorum
に同じ情報があるので、これは奇妙に思えます
しかし、それを/etc/default/mesos-master
に追加すると、mesos-mastersとslavesが再起動され、問題は再発しませんでした。
これがお役に立てば幸いです。
メソスバージョンをアップグレードするときに、ログでこのエラーに遭遇しました(例:0.20.0-> 0.27.0)。以前のバージョンのデータが他のバージョンと互換性がない場合があります。
ここに私がそれを直した方法があります:
まず、すべてのノードでmesos-masterサービスが停止していることを確認します。
Sudo service mesos-master stop
次に、潜在的な古いデータをすべて消去します。
削除する $MESOS_WORK_DIR
(/var/mesos
私の場合):
Sudo rm -rf /var/mesos
ZooKeeperでメソデータを消去します。
$ zkCli.sh
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] rmr /mesos
[zk: localhost:2181(CONNECTED) 0] quit
Quitting...
これらの手順を実行した後、すべてのノードでmesos-masterサービスを開始し、オンラインに戻りました。
I0806 16:39:59.091747 940 master.cpp:1006] Slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian) disconnected
これがエラーのヒントです。
スレーブが間違ったIPを公開しています。
追加--ip=10.129.62.49
をスレーブコマンドに追加すると機能します。
代わりに--ip=10.129.62.49
を使用してスレーブを実行します