Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
1.安装下载
安装java
yum install java-1.11.0-openjdk*
从官网下载最新稳定版
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz
解压文件
tar xvzf kafka_2.13-2.6.0.tgz
2.进行配置
配置 server.properties
listeners=PLAINTEXT://:9092
port=9092
advertised.host.name=自己的ip地址
zookeeper.connect=自己的ip地址:2181
3.配置监控
###下载源码
https://github.com/yahoo/kafka-manager/releases
wget https://github.com/yahoo/kafka-manager/archive/1.3.3.18.tar.gz
通过下载得到1.3.3.18.tar.gz文件,然后解压得到kafka-manager-1.3.3.18
cd kafka-manager-1.3.3.18
并执行./sbt clean dist
修改配置
vim conf/application.conf
kafka-manager.zkhosts="自己的ip地址:2181"
启动
#后台启动zookeeper
zookeeper-server-start.sh -daemon config/zookeeper.properties
#后台启动kafka
kafka-server-start.sh -daemon config/server.properties
#后台启动manager端口为9000
./kafka-manager-1.3.3.18/bin/kafka-manager -Dconfig.file=kafka-manager-1.3.3.18/conf/application.conf -Dhttp.port=9000 &
常用命令
#创建topic
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test3
#查看topic
kafka-topics.sh --list --zookeeper localhost:2181
#产生
kafka-console-producer.sh --broker-list localhost:9092 --topic test3
#消费
kafka-console-consumer.sh --zookeeper localhost:2181 --topic test3 --from-beginning