docker stormクラスタの迅速な導入
4495 ワード
Stormの導入は特に面倒ではありませんが、本番環境では導入効率を向上させ、管理・メンテナンスを容易にするためにDockerを使用して導入を統一的に管理するのが良いでしょう.次に、stormとmono環境を構成したDockerミラーの編成:storm-mono-dockerの新しいプロジェクトを開きます.
このプロジェクトはhttps://github.com/ptgoetz/storm-vagrantおよびhttps://github.com/wurstmeister/storm-docker;ここで彼らの支払いに感謝します!プロジェクトで使用するDockerミラーはhttps://index.docker.io.
準備作業
Docker Engineをインストールし、https://docs.docker.com/
docker-composeのインストールhttp://docs.docker.com/compose/install/
クローンgitプロジェクト:
まず、コマンドラインディレクトリをクローンしたgitプロジェクトディレクトリに切り替えます.
次のコマンドでクラスタを起動します.
docker-compose upコマンドを使用して、現在のコマンドラインインタフェースに結果を出力することもできますが、終了するまで他の操作はできません.コマンドラインが終了すると、すべてのコンテナが停止します.docker-compose up-dはバックグラウンドですべてのコンテナを起動します.
このクラスタのすべてのコンテナを停止します.
コンテナが停止すると、次回直接起動するとコンテナが正常にリンクされず、stormの動作が異常になります.終了後、次のコマンドを使用してすべてのDockerキャッシュを終了および削除できます.
supervisorsの追加:
次のコマンドを使用して、すべてのミラーファイルを削除します(次の起動時にコンテナをダウンロードするのに時間がかかるので注意してください.使用を続行したくない場合にのみ実行します).
再構築と更新
Dockerfileを変更した後、次のコマンドを使用してミラーを再構築できます.rebuild.sh ;
ミラーを最新バージョンに更新するには、次のコマンドを使用します:refresh.sh .
質問と回答
Storm UIへのアクセス方法
docker-compose.ymlには次の構成があります.
Dockerミラーの8080ポートをホストの49080にマッピングしたので、アクセスできます.http://localhost:49080訪問に来る.boot 2 dockerを使用する場合は、次のコマンドで仮想マシンのIPを取得できます.
返される結果はあなたのIPで、この例ではhttp://192.168.59.103:49080訪問に来る.
コミットtopologyをどのように配置しますか?
nimbusのIPとポートがデフォルトでない場合は、後でコミットするように指定する必要があります.この例では、次のコマンドを使用できます.
上記のコマンドが機能しない場合は、ローカルのStormプロファイル(storm.yaml)で次の項目を構成できます.
次のコマンドを実行します.
このプロジェクトはhttps://github.com/ptgoetz/storm-vagrantおよびhttps://github.com/wurstmeister/storm-docker;ここで彼らの支払いに感謝します!プロジェクトで使用するDockerミラーはhttps://index.docker.io.
準備作業
Docker Engineをインストールし、https://docs.docker.com/
docker-composeのインストールhttp://docs.docker.com/compose/install/
クローンgitプロジェクト:
git clone https://github.com/ziyunhx/storm-mono-docker
使用まず、コマンドラインディレクトリをクローンしたgitプロジェクトディレクトリに切り替えます.
次のコマンドでクラスタを起動します.
docker-compose up -d
docker-compose upコマンドを使用して、現在のコマンドラインインタフェースに結果を出力することもできますが、終了するまで他の操作はできません.コマンドラインが終了すると、すべてのコンテナが停止します.docker-compose up-dはバックグラウンドですべてのコンテナを起動します.
このクラスタのすべてのコンテナを停止します.
docker-compose stop
コンテナが停止すると、次回直接起動するとコンテナが正常にリンクされず、stormの動作が異常になります.終了後、次のコマンドを使用してすべてのDockerキャッシュを終了および削除できます.
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q)
supervisorsの追加:
docker-compose scale supervisor=4
次のコマンドを使用して、すべてのミラーファイルを削除します(次の起動時にコンテナをダウンロードするのに時間がかかるので注意してください.使用を続行したくない場合にのみ実行します).
docker rmi $(docker images -q -a)
再構築と更新
Dockerfileを変更した後、次のコマンドを使用してミラーを再構築できます.rebuild.sh ;
ミラーを最新バージョンに更新するには、次のコマンドを使用します:refresh.sh .
質問と回答
Storm UIへのアクセス方法
docker-compose.ymlには次の構成があります.
ui:
image: ziyunhx/storm-ui
ports:
- "49080:8080"
Dockerミラーの8080ポートをホストの49080にマッピングしたので、アクセスできます.http://localhost:49080訪問に来る.boot 2 dockerを使用する場合は、次のコマンドで仮想マシンのIPを取得できます.
$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103
返される結果はあなたのIPで、この例ではhttp://192.168.59.103:49080訪問に来る.
コミットtopologyをどのように配置しますか?
nimbusのIPとポートがデフォルトでない場合は、後でコミットするように指定する必要があります.この例では、次のコマンドを使用できます.
storm jar target/your-topology-fat-jar.jar com.your.package.AndTopology topology-name -c nimbus.host=192.168.59.103 -c nimbus.thrift.port=49627
上記のコマンドが機能しない場合は、ローカルのStormプロファイル(storm.yaml)で次の項目を構成できます.
nimbus.host: "192.168.59.103"
nimbus.thrift.port: 49627
次のコマンドを実行します.
storm jar target/your-topology-fat-jar.jar com.your.package.AndTopology topology-name