問題タブ [mesosphere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - Mesos スレーブが Web UI から見えない
mesos/marathon クラスター ( https://github.com/gridpocket/ansible-mesos-cluster ) をデプロイするための Ansible レシピを作成しています。
すべてがセットアップされると、mesos と marathon ui が起動しますが、2 つの問題が
あり
ます。
セットアップは次のとおりです。
- 3 つの mesos マスター (192.168.1.191、192、193): それぞれ実行中の mesos-master、zookeeper、marathon
- 3 つの mesos スレーブ (192.168.1.194、195、196): それぞれ実行中の mesos-slave、ドッカー
スレーブ構成
各スレーブで:
マスター構成
各マスターで:
構成に何か不足していますか?
編集
クラスター全体を再構築し、飼育係の構成 (dataDir) を修正しました。現在、
- mesos マスター インターフェイスが機能しており、マスター ノードを示しています
- marathon ui が機能してい ます
スレーブ マシンでは、mesos-slave プロセスを開始するとすぐに停止します。
mesos-slave ログは、この問題についてあまり詳細ではありません:
編集2
zk 文字列を指定して手動でスレーブを起動すると、スレーブは正しく起動します。
ただし、「sudo service mesos-slave start」ではスレーブを起動できません。
編集3
ansible プレイブックで状態を「latest」から「present」に変更しました。
これで問題ありません。スレーブは mesos UI でアクティブ化された状態で表示されます。
バージョンの問題によるものでしたか?
docker - Docker アプリの展開が Marathon でハングし、Mesos で失敗する
Zookeeper/Marathon/Mesos をDockerizing し、Dockerized Mesos クラスターからDocker コンテナーをデプロイする (愚かな可能性がある) タスクを試みています。
これまでのところ、物理的に離れた 2 つのノードで動作する Mesos クラスターがあります。1 つのノードはMesosマスターとスレーブの両方を実行し(コンテナー Dockerfiles リンク)、2 つ目のノードはスレーブのみを実行しています。それらは問題なく機能しているようです。Marathon (マスターとスレーブを含むノードで実行されている独自のコンテナー) を介して非常に単純なジョブを送信でき、それらは正常に完了します。
ただし、Marathon API を使用して Docker コンテナーを送信しようとすると、ハングするようです。Marathon インターフェースは「デプロイ中」でハングし、15 分間放置して停止し、再送信して、さらに 15 分間放置した後でも変化しません。
同時に、タスクはまだ Mesos スレーブに送信されています。Mesos UI は FAILED タスクを左右に報告しています。
編集1
各エグゼキューターの結果のサンドボックス ログも完全に空です。
編集2
スレーブログに埋もれている何か興味深いものを見つけました:
関心のある行:
有効なコンテナー化 (mesos) のいずれも、提供された TaskInfo/ExecutorInfo メッセージのコンテナーを作成できませんでした。
コンテナー化が実行に失敗しているように見えます。私が見る限り、docker をコンテナー化とは見なしていません。ここの構成に従って、Docker ジョブをデプロイしました。Mesos スレーブ自体が Docker コンテナである場合、これは変わりますか?
私は自分の要素からやや外れており、これらの線に沿った参照が見つかりません。何が起こっているのか分かりますか?
docker - オンプレミスの Dcos 、mesos-dns を使用している場合、外部の世界はどのように Docker コンテナーに到達しますか?
オンプレミスの Dcos では、サービス ディスカバリに mesos-dns を使用している場合、外の世界はどのように Docker コンテナーに到達しますか?
私の mesos ドメインが marathon.mesos であるとしましょう。Marathon フレームワークを使用して Nginx コンテナーをデプロイし、mesos-dns は "nginx.marathon.mesos" として検出します。クラスター内では、 Web ブラウザー経由でhttp://nginx.marathon.mesosにアクセスできますが、問題ありません。
しかし、クラスターの外側 (公共の世界) では、誰かが abc.xyz.com と入力すると、nginx コンテナー サーバーが「abc.xyz.com」として提示する必要があり、トラフィックは nginx コンテナーにルーティングされる必要があります。サービス検出に mesos-dns を使用する場合このシナリオにどのように対処できますか?
dns - Cassandra-mesos フレームワークを使用しているときに Cassandra にアクセスするために mesos-dns が提供するサービス名は何ですか?
わずかに変更されたコミュニティ中間圏クラスターを使用しています。これには mesos-dns がインストールされているため、master.mesos と x.marathon.mesos を問題なく解決できます。問題は、Cassandra データベースへのアクセスに使用する名前 (cqlsh を使用するか、別のアプリケーションを使用するか) です。
私はドキュメントで次のことを見つけました:フー")? どのビットが変更されますか? 私はすべてのコンボをいじりましたが、うまくいきませんでした。
amazon-web-services - スポット インスタンスが DCOS をサポート
DCOS テンプレートを変更してスポット インスタンスを使用することはできますか? 私は周りを見回しましたが、これに関する情報はあまりないようです。
docker - Marathon で Team City Build Agent のポート番号を設定する
Mesosphere Marathon プラットフォームに teamcity ビルド エージェントをデプロイしようとしていて、ポート マッピングに問題があります。
デフォルトでは、teamcity サーバーはポート 9090 で teamcity エージェントと通信しようとします。
そのため、コンテナ ポートを次のように設定します。
「コンテナ ポート」: 9090
ただし、teamcity エージェント コンテナーをデプロイすると、Marathon はポート 9090 を 30000 の範囲のポートにマップします。
teamcity サーバーがポート 9090 でコンテナーに戻ると、ポートが 30000 にマップされているため失敗します。
marathon args で次の sed コマンドを実行して、この動的ポートを teamcity 構成ファイルに取り込む方法を見つけました。
コンテナーがスピンアップすると、buildAgent.properties で ownPort=9090 が ownPort=$PORT0 に置き換えられ、エージェントが開始されます。
ただし、エージェントがポート 30000 にあるため、"containerPort": 9090 は無効になりました。"containerPort": $PORT0 である必要がありますが、containerPort は整数である必要があるため、これは無効な json です。
ポートを動的に割り当てる必要がある "containerPort": 0 を設定しようとしましたが、この値を使用するとコンテナーを起動できず、すぐに消えてデプロイを試み続けます。
mesos スレーブ ホストにログオンして docker ps -a を実行すると、コンテナーのポートが空白になっていることがわかります。
これは私が使用している Marathon json ファイルで、Marathon のバージョンは Version 0.8.2 です。
どんな助けでも大歓迎です!
docker - 頻繁な再起動 - marathon/mesos の docker コンテナ
Webサーバーアプリケーションを完全にドッキングするまで成功しました。ここで、マラソン フレームワークを介して mesos スレーブに直接デプロイすることで、さらに調査したいと考えています。コマンド ラインまたは marathon Web UI を使用して、2 つの異なる方法で docker コンテナーを marathon にデプロイできます。どちらもうまくいきましたが、docker イメージをデプロイしようとすると、マラソンが頻繁にジョブを再起動し、mesos UI ページで同じコンテナーに対して多くの完了したジョブが表示されるという課題があります。1 分あたり 10 タスク近く。これは予想外だと思います。
私のdockerファイルは以下のようになります:
今、この問題を解決する方法がわかりません。ガイダンスをいただければ幸いです。ありがとう
java - Marathon を使用した Mesos クラスタの展開
M1、M2、M3 の 3 台のマシンがあります。M1 に mesos-master、zookeeper、marathon を展開し、M2 と M3 に mesos-slave を展開しました。ただし、Mesos Gui では、ゼロのスレーブが表示されています。次に、コマンドmesos-resolvecat /etc/mesos/zk
を実行して、スレーブが正しいマスターを検出しているかどうかを確認しました。しかし、いいえ、マスターとして 127.0.0.1:5050 を誤って検出しています。以下は、上記のコマンドのログです。
ログが示すように、M1/zookeeper の /mesos/info_0000000001 のノード値を調べました。それは次のようなものであることが判明しました:
Mesos マスター設定 : cat /etc/mesos/zk
そのように見えるように、M1 の mesos マスターは、その絶対 IP を Zookeeper ノードに保存していません。奇妙な振る舞いを説明できる人はいますか。