最近一个项目要使用到kafka,所以看了一些资料,总结了一下单机的安装方法。
一、1个broker
1.官网下载kafka
wget http://mirrors.cnnic.cn/apache/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz
cd kafka_2.11-0.8.2.12.启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &3.启动kafka server
bin/kafka-server-start.sh config/server.properties &4.创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test查看创建topics是否成功bin/kafka-topics.sh --list --zookeeper localhost:2181查看topics详细信息bin/kafka-topics.sh --describe --zookeeper localhost:21815.启动producer
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test6.启动consumerbin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning在producer窗口输入信息,回车后,在consumer窗口可以看到。注意到这里,启动producer时,使用的是kafka的端口;而启动consumer时,使用的是zookeeper的端口。二、多个brokers(单机)
1.设置配置文件
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-1.propertiesconfig/server-1.propertiesbroker.id=1
port=9093
log.dir=/tmp/kafka-logs-1config/server-2.properties
broker.id=1
port=9094
log.dir=/tmp/kafka-logs-2broker.id是每个broker唯一且永久的标识,因为当前所有broker都部署在一台机器上,所以需要修改port和log.dir。2.启动这两台broker
bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &3.创建topic,设置replication-factor为3
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic4.通过describe命令查看topic的详细信息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topicTopic:test PartitionCount:1 ReplicationFactor:1 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
第一行是所有partition的一个summary,下面的每一行是每个partition的具体信息。因为我们这里只有一个partition,所以只有一行。
leader:负责所有的read-write请求。
replicas:消息备份的节点(不管节点是否是leader,或者是否alive)。
isr:in-sync replicas。是replicas的一个子集。是指replicas中状态为alive的节点。
5.发布消息
6.消费消息bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic7.测试容错性
在第4步中看到,leader是节点1,现在把这个进程关闭。
ps -ef | grep server-1.properties
kill -9 14576
通过describe命令再次查看,可以看到leader已经变成了节点2,isr列表中也没有了节点1。但是这都不影响消息的消费。

本文介绍了Kafka在单机环境下安装配置的方法,并详细解释了如何搭建包含多个Broker的集群,包括配置文件的设置、启动流程及验证消息传递等关键步骤。
1707

被折叠的 条评论
为什么被折叠?



