CLOVER🍀

That was when it all began.

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

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

GitHub - yahoo/kafka-manager: A tool for managing Apache Kafka.

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

kafka-managerとは?

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

などなど。

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

Want to view messages of a topic · Issue #184 · yahoo/kafka-manager · GitHub

GitHub - linkedin/Burrow: Kafka Consumer Lag Checking

GitHub - ldaniels528/trifecta: Trifecta is a web-based and CLI tool that simplifies inspecting Kafka messages and Zookeeper data. Additionally, the CLI tool provides the capability to import/export data to/from ElasticSearch and MongoDB.

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

前提

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より、

Releases · yahoo/kafka-manager · GitHub

最新版(今回は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を見ることができます。

クラスタを追加する

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

上部のメニューより、Cluster→Add Clusterでクラスタを登録しましょう。

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

クラスタの登録が完了するので、そのまま「Go to cluster view.」でクラスタの一覧へ。

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

あとは、Topicを選択してTopicの一覧を見たり

Topicの詳細を見たり

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

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

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