kafka单机安装

最近一个项目要使用到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.1

2.启动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:2181

5.启动producer
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
6.启动consumer
bin/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.properties
config/server-1.properties
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1

config/server-2.properties
broker.id=1
port=9094
log.dir=/tmp/kafka-logs-2
broker.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-topic

4.通过describe命令查看topic的详细信息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
Topic: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.发布消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
6.消费消息
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic

7.测试容错性
在第4步中看到,leader是节点1,现在把这个进程关闭。
ps -ef | grep server-1.properties
kill -9 14576
通过describe命令再次查看,可以看到leader已经变成了节点2,isr列表中也没有了节点1。 但是这都不影响消息的消费。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值