Kafka broker配置介绍 (四)
2015-01-08 14:44
183 查看
这部分内容对了解系统和提高软件性能都有很大的帮助,kafka官网上也给出了比较详细的配置详单,但是我们还是直接从代码来看broker到底有哪些配置需要我们去了解的,配置都有英文注释,所以每一部分是干什么的就不翻译了,都能看懂:
?
上面这段代码来自kafka.server包下的KafkaConfig类,之前我们就说过,broker就是kafka中的server,所以讲配置放在这个包中也不奇怪。这里我们顺着代码往下读,也顺便看看scala的语法。和java一样也要import相关的包,kafka将同一包内的两个类写在大括号中:
?
然后我们看类的写法:
?
我们看到在加载kafkaConfig的时候会加载一个properties对象,同时也会加载有关zookeeper的properties,这个时候我们可以回忆一下,之前我们启动kafka broker的命令:
1. 启动zookeeper server :bin/zookeeper-server-start.sh ../config/zookeeper.properties & (用&是为了能退出命令行)
2. 启动kafka server: bin/kafka-server-start.sh ../config/server.properties &
所以你能明白,初始化kafka broker的时候程序一定是去加载位于config文件夹下的properties,这个和java都一样没有区别。当然properties我们也可以通过程序来给出,这个我们后面再说,继续看我们的代码。既然找到了对应的properties文件,我们就结合代码和properties一起来看。
Kafka broker的properties中,将配置分为以下六类:
l Server Basics:关于brokerid,hostname等配置
l Socket Server Settings:关于传输的配置,端口、buffer的区间等。
l Log Basics:配置log的位置和partition的数量。
l Log Flush Policy:这部分是kafka配置中最重要的部分,决定了数据flush到disk的策略。
l Log Retention Policy:这部分主要配置日志处理时的策略。
l Zookeeper:配置zookeeper的相关信息。
在文件properties中的配置均出现在kafkaConfig这个类中,我们再看看kafkaConfig中的代码:
?
凡是参数中有三个的,最后一个是default,而参数只有两个的则要求你一定要配置,否则的话则报错。当然在这么多参数中肯定是有一些经验参数的,至于这些参数怎么配置我确实没有一个特别的推荐,需要在不断的测试中才能磨合出来。
当然你也可以将配置写在程序里,然后通过程序去启动broker,这样kafka的配置就可以像下面一样写:
?
我倒是觉得配置还是直接写在配置文件中比较好,如果需要修改也不会影响正在运行的服务,写在内存中,总是会有些不方便的地方。所以还是建议大家都写配置好了,后面讲到的producer和consumer都一样。
这里再提两个参数一个是brokerid,每个broker的id必须要区分;第二个参数是hostname,这个是broker和producer、consumer联系的关键,这里记住一定要改成你的地址和端口,否则永远连得都是localhost。
--------------------------------------------------------
下一篇将写producer和consumer的配置了,涉及到这部分就要开始编程了,写着写着又往源码里看进去了,下篇会先讲如何搭建开发环境,然后再写两个简单那的例子去熟悉配置。
?
?
?
1. 启动zookeeper server :bin/zookeeper-server-start.sh ../config/zookeeper.properties & (用&是为了能退出命令行)
2. 启动kafka server: bin/kafka-server-start.sh ../config/server.properties &
所以你能明白,初始化kafka broker的时候程序一定是去加载位于config文件夹下的properties,这个和java都一样没有区别。当然properties我们也可以通过程序来给出,这个我们后面再说,继续看我们的代码。既然找到了对应的properties文件,我们就结合代码和properties一起来看。
Kafka broker的properties中,将配置分为以下六类:
l Server Basics:关于brokerid,hostname等配置
l Socket Server Settings:关于传输的配置,端口、buffer的区间等。
l Log Basics:配置log的位置和partition的数量。
l Log Flush Policy:这部分是kafka配置中最重要的部分,决定了数据flush到disk的策略。
l Log Retention Policy:这部分主要配置日志处理时的策略。
l Zookeeper:配置zookeeper的相关信息。
在文件properties中的配置均出现在kafkaConfig这个类中,我们再看看kafkaConfig中的代码:
?
当然你也可以将配置写在程序里,然后通过程序去启动broker,这样kafka的配置就可以像下面一样写:
?
这里再提两个参数一个是brokerid,每个broker的id必须要区分;第二个参数是hostname,这个是broker和producer、consumer联系的关键,这里记住一定要改成你的地址和端口,否则永远连得都是localhost。
--------------------------------------------------------
下一篇将写producer和consumer的配置了,涉及到这部分就要开始编程了,写着写着又往源码里看进去了,下篇会先讲如何搭建开发环境,然后再写两个简单那的例子去熟悉配置。
相关文章推荐
- Kafka broker配置介绍
- Kafka broker配置介绍
- Kafka broker配置介绍
- Kafka broker配置介绍
- kafka配置-----broker配置
- 分布式消息队列kafka系列介绍 — 配置文件详解
- kafka 1.0 中文文档(三)--Broker的配置
- kafka提供的broker配置server.properties
- kafka消息服务的producer、broker、consumer的配置
- Kafka原理介绍及使用配置
- Kafka单节点多broker配置
- Kafka学习之broker配置(0.8.1版)
- Kafka笔记-3-kafka配置文件介绍
- Kafka 0.10.0.+zookeeper3.4.8集群搭建、配置,新Client API介绍
- Kafka学习总结(四)——broker、consumer、producer主要配置
- Kafka:Broker Config 配置
- Kafka-broker配置说明
- Kafka Broker常用配置详解
- 分布式消息队列kafka系列介绍 — 配置文件详解
- kafka 基本配置介绍及DEMO