大数据(kafka-原理及架构)

三世轮回 提交于 2020-02-29 12:43:09

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

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!