kafkaシリーズ(六)---kafkaインストール構成と簡単なテスト

12083 ワード

サマリ


前に転送した5つの文章は、著者がkafkaの設計を多く紹介し、文章を書く時間も比較的早く、現在kafkaの最新の安定版は0.10.1.0になっている.設計の構想は変わっていないが、前文で述べた改善の面について改善しただけだ.本稿の主な内容はkafka起動構成と簡単なテストです.ほとんどの内容はkafka 0.10.1.0の公式ドキュメントから

クイックスタート


ダウンロード


みんなは下のリンクをクリックして最新の安定版0.10.1.0をダウンロードすることができますhttps://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.1.0/kafka_2.11-0.10.1.0.tgzもアクセス可能http://kafka.apache.org/downloadsその他のバージョンの選択
>tar -xzf kafka_2.11-0.10.1.0.tgz
>cd kafka_2.11-0.10.1.0

単一ノードを起動するkafkaサービスの構成


kafka起動にはzookeeperのサポートが必要です.まずzookeeperをインストールして正しく起動してください.http://blog.csdn.net/alphags/article/details/52745822プロファイルvi config/serverを編集します.properties修正
 zookeeper.connect=h3:2181,h4:2181,h5:2181

(備考:私のzookeeperはホストh 3,h 4,h 5にインストールされています.ここでは実際のマシンの状況に応じてカスタマイズするように構成されています)
次のコマンドを実行してkafkaを起動します.
>bin/kafka-server-start.sh -daemon config/server.properties

topicを作成

>bin/kafka-topics.sh --create --zookeeper h3:2181 --replication-factor 1 --partitions 1 --topic test

次のコマンドですべてのtopicリストが表示されます.
> bin/kafka-topics.sh --list --zookeeper localhost:2181
test

producerテスト送信情報を開く

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message

consumer受信情報を開く

> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
This is a message
This is another message

マルチノードkafkaサービスの起動


上記の高速起動では、単一ノードのkafkaサービスの起動と使用方法を紹介しました.次に、複数のノードのkafkaサービスクラスタを起動する方法を紹介します.私たちはまだ1台のマシンでテストしています.configディレクトリの下で2つの新しいファイルserverをコピーします.propertiesファイル、ファイル内容の変更
> cp config/server.properties config/server-1.properties
> cp config/server.properties config/server-2.properties
 >vi config/server-1.properties:
    broker.id=101
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1

>vi config/server-2.properties:
    broker.id=102
    listeners=PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2

broker.idはkafkaノードのクラスタ内の唯一の識別であり、互いに異なり、logを修正する必要がある.dir、私たちは同じ機械で運行しているので、kafkaノードのロゴが違います.dirは同じではありません.2つのノードを起動できます
> bin/kafka-server-start.sh config/server-1.properties &
...
> bin/kafka-server-start.sh config/server-2.properties &
...

「&」はkafkaを起動してバックグラウンドで実行させることで、端末をもう1つ起動する必要はありません.次にtopicを作成し、replication-factorを2にします.
> bin/kafka-topics.sh --create --zookeeper h3:2181 --replication-factor 2  --partitions 1 --topic my-replicated-topic

次に「describe topics」を実行して、各ノードにどのような内容があるかを確認します.
>bin/kafka-topics.sh --describe --zookeeper h3:2181 --topic my-replicated-topic
Topic:my-replicated-topic       PartitionCount:1        ReplicationFactor:2     Configs:
 Topic: my-replicated-topic      Partition: 0    Leader: 101     Replicas: 101,102       Isr: 101,102

各行はいくつかの簡単な情報で、partitionには1つ、ReplicationFactorの2つの下の各行はこのtopicが各partition内にある場合で、私たちは1つのpartitionしかないので下には1行しかありません.リーダーは、このPartiton(partition 0)のすべての読み書きがこのノード(101、前のserver-1.propertiesで構成されているbroker.id=101)を歩いていることを示します.先ほど作成したtest topicを見て違いを示します.
./kafka-topics.sh --describe --zookeeper h3:2181 --topic test
Topic:test      PartitionCount:1        ReplicationFactor:1     Configs:
 Topic: test     Partition: 0    Leader: 0     Replicas: 0   Isr: 0

ここでリーダー0はtest topicを作成するときserver.义齿id=0で、このノードだけがテストのためにメッセージを送信します.
> bin/kafka-console-producer.sh --broker-list localhost:9093 --topic my-replicated-topic
...
my test message 1
my test message 2
^C

そして私たちはこれらの情報を消費します
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9093 --from-beginning --topic my-replicated-topic
...
my test message 1
my test message 2
^C

次にkillのnodeでその許容誤差をテストします
> ps aux | grep server-1.properties
7564 ttys002    0:15.91 /System/Library/Frameworks/JavaVM.framework/Versions/1.8/Home/bin/java...
> kill -9 7564

リーダーが102になったのがわかります
./kafka-topics.sh --describe --zookeeper h3:2181 --topic my-replicated-topic
Topic:my-replicated-topic       PartitionCount:1        ReplicationFactor:2     Configs:
        Topic: my-replicated-topic      Partition: 0    Leader: 102     Replicas: 101,102       Isr: 102

情報は依然として正常に消費できる
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9093 --from-beginning --topic my-replicated-topic
...
my test message 1
my test message 2
^C