Kafka学习笔记 --- 快速开始QuickStart

Step 1: 下载代码

> tar -xzf kafka_2.11-1.0.0.tgz

> cd kafka_2.11-1.0.0

 

Step 2: 启动服务器(先保证Zookeeper已经启动)

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

[2013-04-22 15:01:47,028] INFO Verifying properties (kafka.utils.VerifiableProperties)

[2013-04-22 15:01:47,051] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties)

...

 

Step 3: 创建一个Topic

让我们创建一个名为“test”的Topic,他有一个分区和一个副本:

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

现在我们可以运行List(列表)命令来查看这个Topic:

> bin/kafka-topics.sh --list --zookeeper localhost:2181

test

或者可以配置为Topic自动创建模式

 

Step 4:发送一些消息 
Kafka自带一个命令行客户端,它从文件或者标准输入中获取输入,并将其作为message(消息)发送到Kafka集群。 
默认情况下将作为单独的message发送。运行Producer,然后在控制台输入一些消息以发送到服务器。

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

This is a message

This is another message

 

Step 5:启动一个consumer: 
Kafka还有一个命令行consumer(消费者),将消息转存到标准的输出。

> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

This is a message

This is another message

上述操作均为在单节点测试,现在开始在集群上操作(扩展至三个节点)。

 

Step 6:设置多Agent集群 
首先为每个代理创建一个配置文件

> cp config/server.properties config/server-1.properties

> cp config/server.properties config/server-2.properties

分别编辑几个节点的配置文件:

config/server-1.properties:

    broker.id=1                         # 这里的broker.id属性是集群中每个节点的名称,这一名称是唯一且永久的。我们必须修改端口与日志目录。

    listeners=PLAINTEXT://:9093

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

  

config/server-2.properties:

    broker.id=2

    listeners=PLAINTEXT://:9094

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

修改配置文件后分别启动几个节点:

> bin/kafka-server-start.sh config/server-1.properties &

...

> bin/kafka-server-start.sh config/server-2.properties &

...

现在创建副本为3的新topic:

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

启动后,并创建Topoc,我们可以通过describe来查看状态:

> bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

Topic:my-replicated-topic   PartitionCount:1    ReplicationFactor:3 Configs:

    Topic: my-replicated-topic  Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,2,0

其中上面的

  • leader事负责给定分区所有读写操作的节点。每个节点都是随机选择的部分分区的领导者。
  • replicas是复制分区日志的节点列表,不管这些节点是leader还是仅仅活着。
  • isr是一组同步replicas,是replicas列表的子集,他活着并被指定到leader。

其中leader是主题分区的唯一领导者。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章