kafka集群搭建
2016-01-28 17:46
239 查看
摘要: kafka集群搭建
版本和集群环境
kafka版本:2.11
集群环境:两台虚拟机(我这里是一台当producer,一台当consumer)
官网:http://kafka.apache.org/
官方文档:http://kafka.apache.org/documentation.html#quickstart
参考:https://kafka.apache.org/08/quickstart.html
基础配置:已安装jdk和zookeeper(zookeeper安装参照http://blog.csdn.net/unix21/article/details/18990123)
[b]Step 1:[/b]下载kafka
到官网上下载稳定版本的kafka,解压
tar -zxvf kafka_2.11-0.8.2.2.tgz
Step 2:修改配置文件
修改config下的server.properties就可以了。需要配置的属性有:broker.id(标示当前server在集群中的id,从0开始),port,host.name(当前的server host name),zookeeper.connect(连接的zookeeper集群),log.dirs(log的存储目录,记得对应的去建立这个目录)等,其他的一些配置可以看相应的注释:(截图不全,仅供参考)
Step 3:把配置好的kafka复制到其它server上
scp -r kafka_2.11-0.8.2.2 slave1:~
Step 4:修改每台server的配置文件,主要是broker.id 和host.name
[b]Step 5:先启动zookeeper集群,再启动kafka集群[/b]
启动zookeeper集群:./zkServer.sh start
在每台server上启动kafka:./kafka-server-start.sh ../config/server.properties
[b]Step 6:创建topic[/b]
./kafka-topics.sh --zookeeper master:2181 --topic test --replication-factor 2 --partitions 3 --create
[b]Step 7:查看topic[/b]
[b]查看所有topic:[/b]./kafka-topics.sh --list --zookeeper master:2181
查看一个topic详情:./kafka-topics.sh --describe --zookeeper master:2181 --topic test
partiton:partion id从0开始leader:当前负责读写的lead broker idrelicas:当前partition的所有replication broker listisr:relicas的子集,只包含出于活动状态的broker
[b]Step 8:创建producer[/b]
[b][b][b]./kafka-console-producer.sh --broker-list master:9092,slave1:9092 --topic test[/b][/b][/b]
[b]This is a message[/b]
注意,如果上述命令不能发送接收消息,报一下错误:
ERROR Failed to collate messages by topic, partition due to: fetching topic metadata for topics [Set(test)] from broker [ArrayBuffer(id:1,host:slave1,port:9092, id:0,host:master,port:9092)] failed (kafka.producer.async.DefaultEventHandler)
则说明broker的host.name属性配置有问题,可以用ip或者是hosts里配好的域名
[b][b]Step 9:创建consumer[/b][/b]
./kafka-console-consumer.sh --zookeeper master:2181 --from-beginning --topic test
就可以看到消息了。
如果要最新的数据,可以不带--from-beginning参数即可。
最后测试容错能力:
如果broker 0作为leader运行,现在我们杀掉broker 0,在查看topic的详细信息,发现leader都是broker 1了,并且consumer依然可以消费消息,
版本和集群环境
kafka版本:2.11
集群环境:两台虚拟机(我这里是一台当producer,一台当consumer)
官网:http://kafka.apache.org/
官方文档:http://kafka.apache.org/documentation.html#quickstart
参考:https://kafka.apache.org/08/quickstart.html
基础配置:已安装jdk和zookeeper(zookeeper安装参照http://blog.csdn.net/unix21/article/details/18990123)
[b]Step 1:[/b]下载kafka
到官网上下载稳定版本的kafka,解压
tar -zxvf kafka_2.11-0.8.2.2.tgz
Step 2:修改配置文件
修改config下的server.properties就可以了。需要配置的属性有:broker.id(标示当前server在集群中的id,从0开始),port,host.name(当前的server host name),zookeeper.connect(连接的zookeeper集群),log.dirs(log的存储目录,记得对应的去建立这个目录)等,其他的一些配置可以看相应的注释:(截图不全,仅供参考)
Step 3:把配置好的kafka复制到其它server上
scp -r kafka_2.11-0.8.2.2 slave1:~
Step 4:修改每台server的配置文件,主要是broker.id 和host.name
[b]Step 5:先启动zookeeper集群,再启动kafka集群[/b]
启动zookeeper集群:./zkServer.sh start
在每台server上启动kafka:./kafka-server-start.sh ../config/server.properties
[b]Step 6:创建topic[/b]
./kafka-topics.sh --zookeeper master:2181 --topic test --replication-factor 2 --partitions 3 --create
[b]Step 7:查看topic[/b]
[b]查看所有topic:[/b]./kafka-topics.sh --list --zookeeper master:2181
查看一个topic详情:./kafka-topics.sh --describe --zookeeper master:2181 --topic test
partiton:partion id从0开始leader:当前负责读写的lead broker idrelicas:当前partition的所有replication broker listisr:relicas的子集,只包含出于活动状态的broker
[b]Step 8:创建producer[/b]
[b][b][b]./kafka-console-producer.sh --broker-list master:9092,slave1:9092 --topic test[/b][/b][/b]
[b]This is a message[/b]
注意,如果上述命令不能发送接收消息,报一下错误:
ERROR Failed to collate messages by topic, partition due to: fetching topic metadata for topics [Set(test)] from broker [ArrayBuffer(id:1,host:slave1,port:9092, id:0,host:master,port:9092)] failed (kafka.producer.async.DefaultEventHandler)
则说明broker的host.name属性配置有问题,可以用ip或者是hosts里配好的域名
[b][b]Step 9:创建consumer[/b][/b]
./kafka-console-consumer.sh --zookeeper master:2181 --from-beginning --topic test
就可以看到消息了。
如果要最新的数据,可以不带--from-beginning参数即可。
最后测试容错能力:
如果broker 0作为leader运行,现在我们杀掉broker 0,在查看topic的详细信息,发现leader都是broker 1了,并且consumer依然可以消费消息,
相关文章推荐
- 初识Kafka(一)
- 消息队列之kafka(集群搭建)
- python修改注册表
- Sublime Text 超好用的侧栏插件SideBarEnhancements
- pixhawk-----mavlink
- Error: must call SetScrollSizes() or SetScaleToFitSize()问题的解决
- spark transform系列__sample
- Codeforces Round #340 (Div. 2)--补题
- jdbc连接
- MySQL Proxy
- Jenkins详细安装与构建部署使用教程
- Linux下快速使用makedown
- <c:forEach varStatus="status">中 varStatus的属性简介
- AJAX中XMLHttpRequest对象详解(1)
- An In-Depth Look at the HBase Architecture--转载
- 模态窗口跳转问题
- [android界面]android中src和background区别——前景与背景
- Android 学习笔记(一)(客户端、服务器socket通信教程)
- pixhawk学习笔记
- 知识库