19

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にあります。

4

4 に答える 4

12

同様の問題がありました。私のスレーブログはいっぱいになるでしょう

    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

そして、マスターが死亡し、新しい選挙が行われ、殺害されたマスターは新興企業 (私は Centos 6 ボックスを使用しています) によって再起動され、潜在的なマスターのプールに追加されます。したがって、私の選出されたマスターは、私のマスター ノードの周りにデイジー チェーン接続します。マスターとスレーブを何度も再起動しても何も起こらず、マスターの選択から 1 分以内に問題が一貫して再発しました。

私にとっての解決策は、このstackoverflowの質問(感謝)とgithub gist noteのヒントから得られました。

その要点は/etc/default/mesos-master、定足数を指定する必要があることです (私の場合は 3 の mesos マスターの数に対して正しい必要があります)。

    MESOS_QUORUM=2

ファイルに同じ情報があるので、これは奇妙に思えます/etc/mesos-master/quorum

しかし/etc/default/mesos-master、mesos-mastersとslavesを再起動するために追加しましたが、問題は再発していません。

これがお役に立てば幸いです。

于 2015-08-12T23:23:11.343 に答える
2
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スレーブコマンドに追加すると機能します。

于 2016-04-18T11:51:45.083 に答える
2

mesos のバージョンをアップグレードすると、ログにこのエラーが表示されます (例: 0.20.0 -> 0.27.0)。以前のバージョンのデータが他のバージョンと互換性がない場合があります。

これが私がそれを修正した方法です:

まず、すべてのノードで mesos-master サービスが停止していることを確認します。

sudo service mesos-master stop

次に、潜在的な古いデータをすべて消去します。

  1. 削除します$MESOS_WORK_DIR/var/mesos私の場合):

    sudo rm -rf /var/mesos
    
  2. ZooKeeper の mesos データをクリアします。

    $ 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 サービスを開始すると、オンラインに戻りました。

于 2016-02-16T21:16:24.923 に答える
0

--ip=10.129.62.49代わりにスレーブを実行します

于 2015-08-10T18:12:25.747 に答える