Kafka简介
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中所有的动作流数据,如:网页浏览、搜索、其它用户行为。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,通过集群来实现实时的消息消费。Kafka强调的吞吐量和消息堆积能力,适合与大数据领域的框架如Hadoop、Storm等做集成。
Kafka相关术语
Broker:Kafka集群包含一个或多个服务器,这种服务器被称为Broker
Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存到一个或多个Broker上,但用户只需要指定消息的Topic即可生产或消费数据,不必关心数据存于何处
Partition:物理上的概念,每个Topic包含一个或多个Partition
Producer:负责发布消息到Kafka broker
Consumer:消息消费者,从Kafka broker读取消息的客户端
Consumer Group:每个Consumer属于一个特定的Consumer Group,可以为每个Consumer指定group name,若不指定则属于默认的group
Kafka集群搭建
三台机器IP:192.168.0.225、192.168.0.226、192.168.0.227
下载kafka_2.11-1.0.1.tgz,上传到192.168.0.225、192.168.0.226、192.168.0.227
tar -zxvf kafka_2.11-1.0.1.tgz -C /usr/local
mv kafka_2.11-1.0.1 kafka
cd /usr/local/kafka/config
vim server.properties
Kafka集群存在3个节点,则broker.id的值分别为0 1 2
在Kafka集群中,节点与节点之间使用Zookeeper进行协调服务,Zookeeper集群搭建可参考《Zookeeper简介与集群搭建》
cd /usr/local/kafka/kafka-logs
vi meta.properties 设置226机器中此文件的brokerId=1 设置227机器中此文件的brokerId=2
启动Kafka服务
先保证Zookeeper集群已启动,即192.168.0.217、192.168.0.218、192.168.0.219上的Zookeeper服务已启动
再启动192.168.0.225、192.168.0.226、192.168.0.227上的Kafka服务
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
Kafka-Manager-Console安装和启动
在github上下载kafka-manager-master.zip
上传kafka-manager-master.zip到192.168.0.225的目录/usr/local
解压
unzip kafka-manager-master.zip -d /usr/local/
cd /usr/local/kafka-manager-master
执行指令
./sbt clean dist
下载依赖的jar包,编译并打包生成一个zip包,放到目录/usr/local/kafka-manager-master/target/universal
解压上面刚打好的zip包
unzip /usr/local/kafka-manager-master/target/universal/kafka-manager-1.3.3.16.zip
修改/usr/local/kafka-manager-master/target/universal/kafka-manager-1.3.3.16/conf/application.conf,配置Zookeeper服务
vim /usr/local/kafka-manager-master/target/universal/kafka-manager-1.3.3.16/conf/application.conf
启动Kafka Manager
nohup /usr/local/kafka-manager-master/target/universal/kafka-manager-1.3.3.16/bin/kafka-manager -Dconfig.file=/usr/local/kafka-manager-master/target/universal/kafka-manager-1.3.3.16/conf/application.conf -Dhttp.port=9000 &
访问http://192.168.0.225:9000
添加一个Cluster,配置Zookeeper信息
192.168.0.217:2181,192.168.0.218:2181,192.168.0.219:2181 注意:冒号和逗号均为英文输入法下的
创建主题topic-one并查看
可以创建多个Cluster
查看KafkaCluster