Kafka详细配置
转自:http://blog.csdn.net/suifeng3051/article/details/38321043?utm_source=tuicool&utm_medium=referral
Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置
- 单节点:一个broker的集群
- 单节点:多个broker的集群
- 多节点:多broker集群
单节点单broker实例的配置
1.启动zookeeper服务
bin/zkServer.sh start
2.启动Kafka broker
bin/kafka-server-start.sh config/server.properties
3.创建topic
创建一个仅有一个Partition的topic
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopic
或者:
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic kafkatopic
版本不同语法不同,参考:http://www.cnblogs.com/huxi2b/p/4571309.html
4.生产消息
用Kafka提供的生产者客户端启动一个生产者进程来发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kafkatopic
其中有两个参数需要注意:
- broker-list:定义了生产者要推送消息的broker地址,以<IP地址:端口>形式
- topic:生产者发送给哪个topic
然后你就可以输入一些消息用于发送
5.消费消息
启动一个Consumer实例来消费消息
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic kafkatopic --from-beginning
当你执行这个命令之后,你便可以看到控制台上打印出的生产者生产的消息
单节点运行多broker实例
1.启动zookeeper
和上面的一样
2.启动Kafka的broker
要想在一台机器上启动多个broker实例,只需要准备多个server.properties文件即可,比如我们要在一台机器上启动两个broker。
首先我们要准备两个server.properties配置文件
- server-1
- brokerid=1
- port=9092
- log.dir=/temp/kafka8-logs/broker1
- server-2
- brokerid=2
- port=9093
- log.dir=/temp/kafka8-logs/broker2
然后我们再用这两个配置文件分别启动一个broker
[root@localhost kafka]# env JMX_PORT=9999 bin/kafka-server-start.sh config/server-1.properties
[root@localhost kafka]# env JMX_PORT=10000 bin/kafka-server-start.sh config/server-2.properties
可以看到我们启动是为每个broker都指定了不同的JMX Port,JMX Port主要用来利用jconsole等工具进行监控和排错
3.创建一个topic
创建一个含有两个Partition分区和2个备份的topic:
[root@localhost kafka]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 2 --topic othertopic
4.启动Producer发送消息
如果我们要用一个Producer发送给多个broker,唯一需要改变的就是在broker-list属性中指定要连接的broker
[root@localhost kafka]# bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic othertopic
5. 启动Consumer消费消息
和之前的命令一样
[root@localhost kafka]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic othertopic --from-beginning
集群模式(多节点多实例)
zookeeper配置文件(zookeeper.properties):不变
broker的配置配置文件(server.properties):按照单节点多实例配置方法在一个节点上启动两个实例,不同的地方是zookeeper的连接串需要把所有节点的zookeeper都连接起来
zookeeper.connect=node1:2181,node2:2181
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2016-03-02 easyui datalist按组多选