notebook 001

notebook 001

INPUTとOUTPUTの個人的な備忘録です。

Kafka (Confluent) インストールと動作確認

Linux環境にKafka (Confluent) インストール。

クラスタは組まず、お試し構成。1台で。

 

環境

  • OS: CentOS 7.0
  • IPアドレス:192.168.0.1 とする
  • インストール先:/home/app
    → 一般ユーザ(app)のhome dir直下にインストール
  • rpm版ではなく、confluent-oss-5.0.1-2.11.tar.gz をインストール

 

手順

https://docs.confluent.io/3.2.0/quickstart.html#quickstart
に従う。

confluent-oss-5.0.1-2.11.tar.gz をダウンロードしておく。

ユーザ追加

# useradd app
# passwd app
# su - app

インストール(=tarを展開)

$ pwd
/home/app/confluent-5.0.1
$ tar zxvf confluent-oss-5.0.1-2.11.tar.gz

起動(zookeeperとserver)

$ pwd
/home/app/confluent-5.0.1
$ ./bin/zookeeper-server-start ./etc/kafka/zookeeper.properties
$ ./bin/kafka-server-start ./etc/kafka/server.properties

TOPIC(test1)の作成

作成の前後にTOPICを一覧表示し、作成できたかどうか確認している。

$ bin/kafka-topics --list --zookeeper localhost:2181
__confluent.support.metrics  ★ TOPICは今はこれだけ
$

$ bin/kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1
Created topic "test1".
$

$ bin/kafka-topics --list --zookeeper localhost:2181
__confluent.support.metrics
test1 ★作成できた

 

TOPICへの出し入れ確認

procucer ---> (TOPIC: test1) <--- consumer

Terminalを2つ開く。片方でConsumer起動。(confluent付属のアプリ使用)

$ bin/kafka-console-consumer --bootstrap-server localhost:9092 --topic test1

もう片方はProducer。confluent付属のproducerアプリを使用。

$ bin/kafka-console-producer --broker-list localhost:9092 --topic test1
>hello world! <-- hello world!と入力しEnterキー押下 ①
>welcome to kafka! <-- welcome to kafka!と入力しEnterキー押下 ②

先に起動しておいたConsumer側のウィンドウに以下のように表示される。

$ bin/kafka-console-consumer --bootstrap-server localhost:9092 --topic test1
hello world!  <-- ①のあと表示される
welcome to kafka!  <-- ②のあと表示される

Producer, Consumerを終了する。(Ctrl-C)

リモートマシンからも受付可能にする

ここまでの確認ではlocalhost指定で自ノードからのみアクセス可能だったが、他ノードからも通信可能な状態にする。

Serverの再起動

ServerをCtrl-Cで停止、設定ファイル(./etc/kafka/server.properties)を変更し、起動する。

 

vi ./etc/kafka/server.properties
listeners=PLAINTEXT://192.168.0.1:9092   <== 自分のIPアドレスを指定★

$ ./bin/kafka-server-start ./etc/kafka/server.properties

★:Private IP, Public IPを持つ環境の場合、/etc/hostsのエントリを確認。今回はprivate IPを指定。

TOPICへの出し入れ確認

Concsumer, Procuderを先の例と同様に起動し確認する。但し、localhost部分はそれぞれIPアドレスに変更。以下、起動コマンドのみ示す。

$ bin/kafka-console-consumer --bootstrap-server 192.168.0.1:9092 --topic test1
$ bin/kafka-console-producer --broker-list 192.168.0.1:9092 --topic test1

おつかれさまでした♪

f:id:mkmkipy:20181116032005p:plain