2015年9月25日金曜日

SpringXD 試してみた

概要

SpringXD はリアルタイム解析やバッチ処理、データエクスポートを実現するためのフレームワークです
シングル構成で動作する QuickStart を試してみました

環境

  • CentOS 6.6 64bit
  • SpringXD 1.2.1
  • Java 1.8.0_45

インストール

RHEL 系の OS であれば rpm からインストールすることができます

  • wget https://repo.spring.io/libs-release-local/org/springframework/xd/spring-xd/1.2.1.RELEASE/spring-xd-1.2.1.RELEASE-1.noarch.rpm
  • rpm -ivh spring-xd-1.2.1.RELEASE-1.noarch.rpm

シングルノードで起動

ターミナルを 1 つ開いて SpringXD を起動します

  • /opt/pivotal/spring-xd/xd/bin/xd-singlenode

起動には少し時間がかかります
SpringXD のロゴが表示されて INFO ログが流れ始めて、止まれば起動完了です

試してみる

専用の CLI クライアントがあるのでそれを使って試してみます

  • /opt/pivotal/spring-xd/shell/bin/xd-shell

で専用のシェルが起動します

ストリームの作成

まずストリームなるものを作成します
SpringXD ではストリーム単位で起動や停止を実施します

  • stream create ticktock –definition “time | log”

「ticktock」という名前のストリームを作成します
--definition オプションを指定してストリームが実施する処理を記載します
今回は time | log という処理を実施させます
time は時刻を入力するためのコマンドです
それを | パイプでつないで log で入力を受け取ります
log は受け取った情報を一定間隔でロギングしてくれるコマンドです
なので time | log とすることで一定間隔で現在時刻を表示させることができます

ストリームを起動する

作成したストリームを起動しましょう

  • stream deploy ticktock

起動は deploy コマンドで実行できます
起動すると別のターミナルで起動していた SpringXD に現在時刻が出力され流れ始めます

ストリームを停止する

  • stream undeploy ticktock

undeploy で停止できます
時刻の出力も停止します

ストリームを削除する

  • stream destroy ticktock

destroy で作成したストリームを削除することができます
削除したあとは deploy はできなくなります
また stream list でストリームの一覧を確認できますが、この一覧からもなくなります

最後に

チュートリアルを試しただけ正直何ができるのかよくわからなかったです
Twitterのタイムラインをリアルタイムで処理させるサンプルとかがあるのでこういうのを試してみるといいのかもしれません

今回はシングルノードで動作させたが、本来は Distributed モードがありそれで動作させるみたいです
ただ、他に必要になるミドルウェアが結構あり、構築だけでも結構大変そうでした
機会があれば時間とって触ってみたい

0 件のコメント:

コメントを投稿