kafka背景及应用场景
由LinkedIn 公司开发的一个分布式的消息系统;
高吞吐率;
支持Kafka Server间的消息分区,及分布式消费;
同时支持离线数据处理和实时数据处理;
支持在线水平扩展。
kafka基本架构
kafka基本名词解释
kafka顺序写磁盘
Kafka的文件存储机制
Kafka的文件复制原理
Kafka的数据可靠性的保证
request.required.acks=-1参数来设置数据可靠性的级别
min.insync.replicas配合使用
Kafka的发送模式,默认同步producer.type=sync,以下是异步的参数
Kafka的消息传输保障
At most once: 消息可能会丢,但绝不会重复传输
At least once:消息绝不会丢,但可能会重复传输
Exactly once:每条消息肯定会被传输一次且仅传输一次
Kafka的单节点搭建
Kafka版本下载
配置server.properties和consumer.properties
Kafka依赖zookeeper
搭建步骤
1:下载kafka
地址:http://kafka.apache.org/downloads
2:上传安装包到服务器上面,并且进行解压
3:进入kafka的安装目录下的config目录
1)编辑server.properties文件,修改zk的服务地址,比如:
zookeeper.connect=hm02:2181,hs0201:2181,hs0202:2181
2)编辑consumer.properties文件,修改zk的服务地址,比如:
zookeeper.connect=hm02:2181,hs0201:2181,hs0202:2181
4:启动zk集群
./zookeeper-3.4.8/bin/zkServer.sh start
5:启动kafka的server
./bin/kafka-server-start.sh config/server.properties 启动kafka服务
6:克隆一个会话来进行创建一个主题,topic
./bin/kafka-topics.sh --create --zookeeper hm02:2181,hs0201:2181,hs0202:2181 --replication-factor 1 --partitions 1 --topic mykaka
查看有那些topic:
./bin/kafka-topics.sh --list --zookeeper hm02:2181,hs0201:2181,hs0202:2181
7:创建一个生产者,这里是使用命令行的producer
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykaka
8:创建一个消费者,这里也是用命令行的consumer
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mykaka --from-beginning
来源:oschina
链接:https://my.oschina.net/u/3728166/blog/3068694