文章目录
kafka是啥
分布式流式平台
消息中间件
由scala开发
flume直接对接streaming,如果数据量非常大,streaming会挂
功能:
1.可读写流式数据
2.编写可扩展的流式程序实时处理数据
3.将流式数据安全存储在分布式的,有副本的容错集群
Producer:消息生产者,就是向kafka broker发消息的客户端。
Consumer:消息消费者,向kafka broker取消息的客户端。
broker:每个kafka实例(server),一台kafka服务器就是一个broker,一个集群由多个broker组成,一个broker可以容纳多个topic。
Zookeeper:依赖集群保存meta信息。
flume:1个进程 包括了source,channel,sink
kafka:3个进程 producer(生产者)broker(数据缓存)consumer(消费者)
flume–> kafka(存储) --> spark streaming/flink/结构化流
缓存数据存储在log,是liunx系统文件。
主题 topic
可以理解为就是数据的分类
假如有两个生产业务:
oms订单系统–mysql–>flume–>kafka( omstopic ) -->streaming1
wms仓库系统–mysql–>flume–>kafka( wmstopic ) -->streaming2
kafka创建主题 一般根据业务系统数据处理来划分
最终落在磁盘上就是创建文件夹(liunx系统文件夹)
mkdir omstopic
mkdir wmstopic
一个主题有n个分区,方便并行
1亿行
omstopic_0 100W/s log append追加(得有序) 自身的分区有序的
omstopic_1 200W/s log append追加 自身的分区有序的
omstopic_2 300W/s log append追加 自身的分区有序的
部署kafka之前要部署zookeeper
zookeeper-3.4.6-cdh5.7.0
zookeeper伪分布式部署
修改conf下的zoo.cfg文件
zookeeper1
tickTime=2000
dataDir=/home/hadoop/app/zookeeper-1/data
clientPort=2181
server.1=192.168.137.190:2881:3881
server.2=192.168.137.190:2882:3882
server.3=192.168.137.190:2883:3883
zookeeper2
tickTime=2000
dataDir=/home/hadoop/app/zookeeper-2/data
clientPort=2182
server.1=192.168.137.190:2881:3881
server.2=192.168.137.190:2882:3882
server.3=192.168.137.190:2883:3