美文网首页
kafka & zookeeper

kafka & zookeeper

作者: ZhangXX_1897 | 来源:发表于2017-10-19 11:10 被阅读0次

主要内容来自

https://www.tutorialspoint.com/apache_kafka/apache_kafka_quick_guide.htm

Step 1: 安装并启动 zookeeper

A)  到 http://www-us.apache.org/dist/zookeeper/zookeeper-3.4.10/ 下载 zookeeper-3.4.10.tar.gz  到/opt/.

B) tar -zxf zookeeper-3.4.10.tar.gz

C)  修改 conf/zoo.cfg 使其包含如下设置

tickTime=2000

dataDir=/path/to/zookeeper/data

clientPort=2181

initLimit=5

syncLimit=2

D) 启动zookeeper服务器

 bin/zkServer.sh  start

E) (在另一个新窗口)启动zookeeper客户端

bin/zkCli.sh

Step 2:安装并启动kafka

A) 到 https://kafka.apache.org/downloads/  下载 kafka_2.11-0.11.0.1.tgz

B) 到/opt/运行 tar -zxf kafka_2.11-0.11.0.1.tgz

C) 在  /opt/kafka_2.11-0.11.0.1/中 运行

bin/kafka-server-start.sh config/server.properties

Step 3: SingleNode_SingleBroker 模式

A) Create a topic: (创建一个topic Hello-Kafka)  在/opt/kafka_2.11-0.11.0.1/中 运行 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor1 --partitions1 --topic Hello-Kafka

B) 在/opt/kafka_2.11-0.11.0.1/中 运行 bin/kafka-topics.sh --list --zookeeper localhost:2181 查看 topic list

C) (在另一个窗口中启动producer 产生messages): 在/opt/kafka_2.11-0.11.0.1/中 运行 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Hello-Kafka

D) (在另一个窗口中启动consumer来消费messages): 在/opt/kafka_2.11-0.11.0.1/中 运行

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic Hello-Kafka --from-beginning

E) 运行了C) and D),then whatever messages you input in the terminal of C) will appear in the terminal of D).

Step 4: SingleNode_MultipleBrokers模式

A)  在kafka/config/中复制文件server.properties为server-one.properties和server-two.properties。在server-one.properties中包含如下内容

port.id=1

listeners=PLAINTEXT://:9093

log.dirs=/tmp/kafka-logs-1

在server-two.properties中包含如下内容

port.id=2

listeners=PLAINTEXT://:9094

log.dirs=/tmp/kafka-logs-2

B) 然后可以启动三个brokers:

Broker1

bin/kafka-server-start.sh   config/server.properties

Broker2

bin/kafka-server-start.sh config/server-one.properties

Broker3

bin/kafka-server-start.sh config/server-two.properties

C) 创建一个topic: 另开一个窗口,到/opt/kafka_2.11-0.11.0.1/中运行

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic Multibrokerapplication

D) The 'Describe' command is used to check which broker is listening on the current created topic as shown below −

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic Multibrokerapplication

运行的结果

Topic:Multibrokerapplication PartitionCount:1 ReplicationFactor:3 Configs:

Topic: Multibrokerapplication Partition: 0 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1

From the above output, we can conclude that first line gives a

summary of all the partitions, showing topic name, partition count and

the replication factor that we have chosen already. In the second line,

each node will be the leader for a randomly selected portion of the

partitions.

In our case, we see that our third broker (with broker.id 2) is the leader. Then Replicas:2,0,1 means that all the brokers replicate the topic finallyIsris the set ofin-syncreplicas. Well, this is the subset of replicas that are currently alive and caught up by the leader.

E) 启动一个producer产生message:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Multibrokerapplication

F) 启动一个Consumer接收消费message:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic Multibrokerapplication --from-beginning

关于topic的基本操作

A) 修改topic (Modifying a Topic)

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic Hello-kafka --partitions 2

这条命令修改Hello-kafka的分区为2。

B) 删除一个topic

bin/kafka-topics.sh --zookeeper localhost:2181  --delete  --topic Multibrokerapplication

Kafka-Python API

https://github.com/dpkp/kafka-python

用pip install kafka-python

安装kafka-python后, 启动zookeeper 和kafka server and client以后,可以测试 github的 kafka-python 中的例子。

Another python API:

https://github.com/confluentinc/confluent-kafka-python

But I have not tested the latter one.

相关文章

网友评论

      本文标题:kafka & zookeeper

      本文链接:https://www.haomeiwen.com/subject/bbiyuxtx.html