Platform(DPP)の環境構築方法を紹介します。AWSでホスト(RancherOS)を自動追加」の記事を参考にしてください。全てを細々と説明していると記事が長くなりすぎますので、以下が準備してあるものとします。Serverから以下の手順で作成できます。環境APIキーを使うことで、そのEnvironmentに対してAPI経由でリソースを作ったりできます。今回の検証ではJMeterを使うのですが、検証対象とJMeterが同じホスト上で動くのは嫌なので、5つあるホストのうち、2つはJMeter専用のホストにします。いうラベルが付いていることを条件にしている為、このラベルを2つのホストに付与しておきます。ホストの編集を開いて以下のようにラベルを追加しますこれを2ホスト分やっておきます。正常にラベルが付与できるとUIでも確認できます。スタックを展開それではEnvironmentにスタックを展開しましょう。スタックの構成としては以下の通りです。Zeppelinのコンテナ群webスタックAkkaによるWeb-APIとNginxによるAngularの配信に関連するコンテナ群zookeeperスタックZookeeperのコンテナ群これを1つ1つEnvironmentに作っていくのは大変です。CLIを使うこともできますが、TerraformのProviderにはRancherも用意されていて、一括でStackを展開できるので今回はTerraform(v0.9.6)を使うことにします。Environmentにすべてのスタックが展開されます。時に必要になるのは以下の情報です。完了したらEnvironmentに上記のスタックが全て展開されているのが確認できるかと思います。スタックだけは全てのスタックが展開されたあとに展開したいからです。スタック間の依存関係を調整する機能が無いため、やむを得ずスクリプトでラップしています。サービス開始スタックの準備ができたのでサービスを開始していきます。スタック以外をサービス開始します。GUIが閲覧できます。値で設定してあるものになります。いう名前にしているだけです)。ファイルをアップロードします。後からJMeterのMasterからダウンロードしたいので公開用のURLを生成しておきます。このURLはあとで使うのでメモっておいてください。準備が完了したので、次は保留していたSparkスタックを開始します。)にアクセスできるようになります。)にもアクセスできることが確認できたら、Zeppelinの設定をします。ディレクトリの中で実行してください)。(http://は不要!)を設定します。表示されたら設定完了です。Cassandraのスキーマ作成Zeppelinの準備もできたのでCassandraのスキーマをZeppelin経由で作ります。ノートブックを開きます。そのノートブックの上段3つを実行します。テーブルの作成をそれぞれ行っています。API経由でCassandraにデータ投入それでは疎通確認もかねてAPI経由でCassandraにデータを投入してみましょう。"Chicken"]}というJSONを送ってみてください。正常に動作していればCassandraにデータが投入されます。対してクエリを投げれるので確認します。使いますのでメモっておきます。今回の構成では集計処理はZeppelinのジョブを定期実行することで実現しています。ノートを開きジョブの周期実行を設定します。これで1分おきに集計処理が実行されるようになります。アクセスしてWeb-UIを表示しましょう。正常に動いていれば先程投入したデータが一覧に出てくるはずです。アイテムをクリックすると以下のような詳細画面が表示されるはずです。適当にここで投票ボタンを連打して投票してみましょう。Cassandraと流れていき、1分後にはZeppelinの集計処理が実行されて集計結果が再びCassandraに反映されます。全て正常に動いていれば以下のように集計結果が表示されるはずです。一連の流れはこれでOKです。最後にJMeterで負荷をかけてみましょう。JMeterで負荷テストそれではJMeterスタックのMasterコンテナに入ってJMeterを実行してみましょう。