Hatena::ブログ(Diary)

CLOVER

2017-04-29

kafka-managerをインストールする

Apache Kafkaを管理するためのツールとしてkafka-managerというものが便利らしいので、kafka-managerを
インストールして簡単に確認してみます。

no title

今回使用するkafka-managerのバージョンは、1.3.3.6とします。

kafka-managerとは?

文字通り、Apache Kafkaを管理するためのツールですが、次のようなことができるそうです。

  • 複数のクラスタの管理
  • topic、consumer、offsets、broker、replica distribution、partition distributionを簡単に確認
  • パーティションの作成と割り当て
  • Topicの作成(設定含む)
  • Topicの削除
  • Topicの一覧表示
  • Brokerを選択して複数のTopic向けのパーティション作成をバッチ処理
  • 複数のTopic向けにパーティションの再割り当てをバッチ処理
  • Topicへのパーティションの追加
  • Topicの設定の更新

などなど。

Topicに格納されたメッセージを表示する機能は持たず、その用途の場合はBurrowかTrifectaを使用、
という感じみたいです。

no title

no title

no title

では、インストールして使っていってみましょう。

前提

Apache Kafka(2.12-0.10.2.0)およびApache ZooKeeperは、172.17.0.2というホストで動作しているものとします。

kafka-managerは、localhostで動作させるものとします。

せっかくなのでBrokerおよびConsumerも用意しますが、サンプルはこちらを使用するものとします。

Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の挙動を確認する - CLOVER

Brokerひとつ、Consumer Groupが2つで、それぞれConsumerが2つずつ(計4つ)がApache Kafkaに張り付きます。これらのアプリケーションは、
すでにApache Kafkaに接続済みで起動しているものとします。

ダウンロード&ビルド

ドキュメントによると、どうも自分でkafka-managerをビルドしなくてはいけないみたいです。ビルドには、JDKJava 8以降)がインストール
されていればよいかと思います。

Deployment

GitHubのreleasesより、

no title

最新版(今回は1.3.3.6)をダウンロードして展開。

$ wget https://github.com/yahoo/kafka-manager/archive/1.3.3.6.tar.gz
$ tar -zxvf 1.3.3.6.tar.gz

ディレクトリを変更して、sbtでビルドします。sbtはScala向けのビルドツールですが、特にsbtを別途ダウンロードする必要はなく、
kafka-managerに含まれているsbtのランチャーを元に起動します。

$ cd kafka-manager-1.3.3.6
$ ./sbt clean dist

しばらく待って、ビルドに成功すると「target/universal」というディレクトリにkafka-managerをアーカイブしたものができあがります。

[info] Your package is ready in /path/to/kafka-manager-1.3.3.6/target/universal/kafka-manager-1.3.3.6.zip
[info] 
[success] Total time: 92 s, completed 2017/04/29 20:46:17

kafka-managerを起動する

それでは、できあがったkafka-managerを起動してみましょう。先ほどビルドしたzipファイルを展開します。

$ cd target/universal
$ unzip kafka-manager-1.3.3.6.zip
$ cd kafka-manager-1.3.3.6

README.mdを見ると、kafka-managerは次のコマンドで起動するようですが、

$ bin/kafka-manager

Starting the service

Apache ZooKeeperをkafka-manager自身も使うようです。
Configuration

しかも、どうも接続先はデフォルトで次のホスト、ポートな様子。

kafka-manager-zookeeper:2181

設定ファイルでも指定できるようですが、今回はシステムプロパティでZooKeeperへの接続先を指定することにします。

$ bin/kafka-manager -Dkafka-manager.zkhosts=172.17.0.2:2181

この状態で、「http://localhost:9000/」にアクセスすると、まっさらなkafka-managerを見ることができます。
f:id:Kazuhira:20170429205522p:image

クラスタを追加する

kafka-managerを起動したはいいですが、まだクラスタが登録されていません。

上部のメニューより、Cluster→Add Clusterでクラスタを登録しましょう。
f:id:Kazuhira:20170429205828p:image

クラスタ名や、ZooKeeperの接続先、Apache Kafkaのバージョン(微妙に最新版じゃないですが…)などを選択して
画面下部にある「Save」でクラスタを登録します。
f:id:Kazuhira:20170429210124p:image

クラスタの登録が完了するので、そのまま「Go to cluster view.」でクラスタの一覧へ。
f:id:Kazuhira:20170429210456p:image
f:id:Kazuhira:20170429210551p:image

なんか、メニューも大幅に増えていますね。また、起動済みのアプリケーションがTopicを作成しているので、すでにTopicが
存在することになっています。

あとは、Topicを選択してTopicの一覧を見たり
f:id:Kazuhira:20170429210937p:image

Topicの詳細を見たり
f:id:Kazuhira:20170429211359p:image
f:id:Kazuhira:20170429211358p:image

メニューから「Consumers」を選んでConsumer Groupを確認したりといったことができるようになります。
f:id:Kazuhira:20170429211551p:image

あとは、適宜メニューから見て回る感じでしょうか。

とりあえず、こんなところでしょう。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Kazuhira/20170429/1493468284