Kafka配置 Configuration
2016-03-18 00:00
417 查看
Kafka使用property格式的配置文件来维护键值对形式的配置信息。这些配置信息可以是通过文件的形式定义的,也可以是通过编程的方式定义。
配置参数有很多,其中的关键配置项是以下三个。
n broker.id
n log.dirs
n zookeeper.connect
Kafka服务器的配置参数项有一百多个,详情参照Broker Configs 。
Kafka topic级别的配置参数。首先是可以在配置文件中设置全局性的topic配置参数,其次是可以针对每个topic再额外设置自定义的配置。自定义的配置项优先级别会高于全局配置。
这是在创建一个topic时自定义了最大的消息字节数和消息持久化参数:
> bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --partitions 1
--replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
可以在创建topic后继续使用命令修改topic中已经定义了的参数:
> bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic
--config max.message.bytes=128000
或者是删除指定的topic中的某个自定义参数:
> bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic
--deleteConfig max.message.bytes
在Kafka官方文档中针对topic级别的配置项定义了14个可配置的参数,参见Topic-level configuration 。
如果需要了解和使用旧版本中的Scala producer 实现,可以参考 here.
在0.8版本中的Kafka consumer端有两个关键配置项:group.id和zookeeper.connect,以及其它一些有特定作用的配置参数。Group.id唯一确定了消费者从属的consumer group,而zookeeper.connect指定了zookeeper集群的连接信息(hostname1:port1,hostname2:port2,hostname3:port3)。
Old Consumer Configs配置项列表。
更详细的使用说明请参见scala class kafka.consumer.ConsumerConfig.
(2)New Consumer Configs
从0.9.0.0版本后转为推广使用新的Kafka Consumer工具,在消费端的参数配置项目上新旧客户端大多参数是相似的,有少部分的不同,详见New Consumer Configs 。
(3)Kafka Connect Configs
Kafka Connect就从0.9版本新增的一个特性,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过 connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic Search、 Apache Ignite等。
Kafka Connect的开发说明参见 Kafka Connect 。Kafka Connect 的配置参数参见Kafka Connect Configs 。
1.Kafka服务器配置Broker Configs
一台Kafka服务器就是一个broker,所以这里讲的是Kafka服务器的配置。配置参数有很多,其中的关键配置项是以下三个。
n broker.id
n log.dirs
n zookeeper.connect
Kafka服务器的配置参数项有一百多个,详情参照Broker Configs 。
Kafka topic级别的配置参数。首先是可以在配置文件中设置全局性的topic配置参数,其次是可以针对每个topic再额外设置自定义的配置。自定义的配置项优先级别会高于全局配置。
这是在创建一个topic时自定义了最大的消息字节数和消息持久化参数:
> bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --partitions 1
--replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
可以在创建topic后继续使用命令修改topic中已经定义了的参数:
> bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic
--config max.message.bytes=128000
或者是删除指定的topic中的某个自定义参数:
> bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic
--deleteConfig max.message.bytes
在Kafka官方文档中针对topic级别的配置项定义了14个可配置的参数,参见Topic-level configuration 。
2.消息生产端的配置 Producer Configs
Kafka面向多种开发语言提供了客户端开发支持,在这里我们以Java为例了解在消息发送端可以配置使用的参数是哪些——Java producer 。如果需要了解和使用旧版本中的Scala producer 实现,可以参考 here.
3.消费端的配置 Consumer Configs
(1)Old Consumer Configs在0.8版本中的Kafka consumer端有两个关键配置项:group.id和zookeeper.connect,以及其它一些有特定作用的配置参数。Group.id唯一确定了消费者从属的consumer group,而zookeeper.connect指定了zookeeper集群的连接信息(hostname1:port1,hostname2:port2,hostname3:port3)。
Old Consumer Configs配置项列表。
更详细的使用说明请参见scala class kafka.consumer.ConsumerConfig.
(2)New Consumer Configs
从0.9.0.0版本后转为推广使用新的Kafka Consumer工具,在消费端的参数配置项目上新旧客户端大多参数是相似的,有少部分的不同,详见New Consumer Configs 。
(3)Kafka Connect Configs
Kafka Connect就从0.9版本新增的一个特性,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过 connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic Search、 Apache Ignite等。
Kafka Connect的开发说明参见 Kafka Connect 。Kafka Connect 的配置参数参见Kafka Connect Configs 。
相关文章推荐
- HDU ACM 1222 Wolf and Rabbit
- 将数字转换为人民币大写
- Qt入门-提示、警告、错误、询问、关于对话框
- nginx: [error] invalid PID number
- php动态程序生成静态文件示例
- php中session_save_path另一种用法
- W5200模块调试笔记
- SpringMVC注解总结
- SpringMVC中传参乱码解决方案
- 我在OSC的第一条博客
- 百度地图---之---路径规划
- 获取公众号所有用户的信息
- 获取微信用户信息
- 获取微信用户信息
- Android SDK Manager国内不能下载和下载缓慢的问题
- sql之left join、right join、inner join的区别
- 蜂窝教育Android培训 增强学员职场竞争力
- angularJS跳转返回刷新
- 大话设计模式—原型模式
- SQL个性化排序