一、软件简介
Apache Kafka是开源的分布式流处理平台,也是高吞吐量的分布式跨平台订阅消息系统,主要包含Broker服务器、Topic消息类别、Partition物理分区、Producer生产者、Consumer消费者、Consumer Group消费组部分。
二、架构图
•Broker : Kafka消息服务器,消息中心。一个Broker可以容纳多个Topic。@b@•Producer :消息生产者,就是向Kafka broker发消息的客户端。@b@•Consumer :消息消费者,向Kafka broker取消息的客户端。@b@•Zookeeper :管理Producer,Broker,Consumer的动态加入与离开。@b@•Topic :可以为各种消息划分为多个不同的主题,Topic就是主题名称。Producer可以针对某个主题进行生产,Consumer可以针对某个主题进行订阅。@b@•Consumer Group: Kafka采用广播的方式进行消息分发,而Consumer集群在消费某Topic时, Zookeeper会为该集群建立Offset消费偏移量,最新Consumer加入并消费该主题时,可以从最新的Offset点开始消费。@b@•Partition:Kafka采用对数据文件切片(Partition)的方式可以将一个Topic可以分布存储到多个Broker上,一个Topic可以分为多个Partition。在多个Consumer并发访问一个partition会有同步锁控制。
三、相关下载
kafka_2.11-0.9.0.1.tgz 本地下载,云盘下载(grv3)
kafka_2.11-2.1.0.tgz 本地下载,云盘下载(ox52)
kafka_2.12-2.1.0.tgz 本地下载,云盘下载(z5x9)
# 1.安装java1.7 --安装教程参见http://www.xwood.net/_site_domain_/_root/5870/5930/5932/t_c262886.html @b@# 2.安装启动zookeeper --教程如下http://www.xwood.net/_site_domain_/_root/5870/5930/5932/t_c261426.html@b@# 3.解压kafka_2.11-0.9.0.1.tgz@b@> tar -zvxf kafka_2.11-0.9.0.1.tgz@b@> cd kafka_2.11-0.9.0.1@b@# 4.启动kafka@b@# 常规模式启动kafka@b@>bin/kafka-server-start.sh config/server.properties @b@# 进程守护模式启动kafka@b@>nohup bin/kafka-server-start.sh config/server.properties @b@# 5.关闭kafka@b@>bin/kafka-server-stop.sh
设置开机启动
[root@centos6 config]# vim /etc/rc.d/init.d/kafka @b@@b@#!/bin/bash@b@@b@export JAVA_HOME=/home/app/jdk7@b@export PATH=$JAVA_HOME/bin:$PATH@b@@b@#chkconfig:2345 20 90@b@#description:kafka@b@#processname:kafka@b@case $1 in@b@ start)@b@ /home/app/kafka/bin/kafka-server-start.sh -daemon /home/app/kafka/config/server.properties@b@ ;;@b@ stop)@b@ /home/app/kafka/bin/kafka-server-stop.sh@b@ ;;@b@ status)@b@ jps@b@ ;;@b@ restart)@b@ /home/app/kafka/bin/kafka-server-stop.sh@b@ /home/app/kafka/bin/kafka-server-start.sh -daemon /home/app/kafka/config/server.properties@b@ ;;@b@ *)@b@ echo "require start|stop|status|restart"@b@ ;;@b@esac@b@@b@@b@"/etc/rc.d/init.d/kafka" 30L, 721C 已写入 @b@[root@centos6 config]# chmod +x /etc/rc.d/init.d/kafka@b@[root@centos6 config]# chkconfig --add kafka@b@[root@centos6 config]# service kafka stop @b@[root@centos6 config]# service kafka start