说明

kafka作为一种分布式消息队列的实现,采用发布订阅的消息模型。通过生产者把消息Topic存储在broke,消息者可以订阅多个感兴趣的topic进行消费。消费者需要自己保留一个offset,从kafka 获取消息时,只拉去当前offset 以后的消息。
Kafka相比于其他MQ(activemq、rabbitmq)优点:
1.高性能高吞吐量 ;  Kafka 集群可以透明的扩展,增加新的服务器进集群。
高性能。Kafka 的性能大大超过传统的ActiveMQ、RabbitMQ等MQ 实现,尤其是Kafka 还支持batch 操作。
2.容错能力。kafka把每个partition的数据复制到几台服务器上,一台broke 出故障时,zookeeper服务将通知生产者和消费者,从而使用其他的broke节点。

kafka安装

环境:java 1.8、kafka 0.10.1.1、CentOS7

1 安装kafka,官网戳->kafka官网

wget https://archive.apache.org/dist/kafka/0.10.1.1/kafka_2.10-0.10.1.1.tgz

2 解压

tar -zvxf kafka_2.10-0.10.1.1.tgz

3 修改配置文件

cd /kafka_2.10-0.10.1.1/
vim config/server.properties

添加内容如下,之后保存文件esc->:wq:

listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
delete.topic.enable=true

启动zookeeper:

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

启动Kafka服务,进入tmux后启动kafka-server,之后ctrl+b->d返回控制台(tmux的使用可以查看我的另一片文章->tmux使用

tmux
    bin/kafka-server-start.sh config/server.properties
tmux rename -t 0 kafka-server

创建Topic:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看topic列表:

bin/kafka-topics.sh --list --zookeeper localhost:2181

生产消息:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

输入(完后使用ctrl+c退出输入)

>hello kafka
>some test

消费消息:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

删除Topic:

bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test

关闭kafka-server:

tmux kill-session -t kafka-server

关闭Zookeeper:

bin/zookeeper-server-stop.sh

kafka的安装到这里就结束了,kafka不像RabbitMQ那样自带网页控制端,但可以自己配置添加,下面是kafka-manager的安装

kafka-manager的安装

我使用的是kafka-manager1.3.3.7,其他版本可以去下面的github里找:

https://github.com/yahoo/kafka-manager/releases

注意:由于github上的是源文件,所以需要自行编译打包,过程很麻烦且非常非常慢(我装了一晚上。。。还可能会失败),这里就不介绍怎么自己装了,我将自己打包好的压缩包放在下面->kafka-manager下载

首先将下好的zip文件上传到服务器,然后解压:

unzip kafka-manager-1.3.3.7.zip

启动(默认使用9000端口),依然使用tmux启动:

cd kafka-manager-1.3.3.7/
tmux
    bin/kafka-manager
tmux rename -t 1 kafka-manager

换端口或者指定配置文件则使用下面的命令:

bin/kafka-manager -Dconfig.file=/conf/application.conf -Dhttp.port=8080

kafka安装完毕,之后浏览器可访问IP:9000出现下面的界面:


点击Add cluster添加监控的集群,Cluster Zookeeper Hosts那里添加你的Zookeeper集群地址IP:2181,有多个用","分开,之后点击save


即可查看监控,创建Topic等一系列操作类似RabbitMQ,更多操作查看github->https://github.com/yahoo/kafka-manager



Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐