一、简介
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
二、准备工作
1、准备三台服务器
10.0.7.62 woniu、10.0.7.63 woniu1、10.0.7.30 woniu2
2、部署NTP服务器进行时间同步(可忽略)
https://blog.csdn.net/u011374856/article/details/103307623
3、配置主机名跟IP地址映射
https://blog.csdn.net/u011374856/article/details/103310847
4、ssh免密码登录
https://blog.csdn.net/u011374856/article/details/103311150
5、安装zookeeper集群
https://blog.csdn.net/u011374856/article/details/103315424
三、Kafka下载
http://kafka.apache.org/downloads
四、Kafka安装
1、解压压缩包
tar -zxvf kafka_2.11-2.2.0.tgz
2、创建以下目录
/home/data/kafka/logs
3、配置环境变量
#配置当前用户环境变量
vi ~/.bash_profile
#在文件中添加如下命令,记得切换自己文件路径
export KAFKA_HOME=/home/app/kafka_2.11-2.2.0
export PATH=$KAFKA_HOME/bin:$PATH
#立即生效
source ~/.bash_profile
4、编辑server.properties
#编辑server.properties
vi server.properties
#修改如下内容
broker.id=0
delete.topic.enable=true
listeners=PLAINTEXT://woniu:9092
advertised.listeners=PLAINTEXT://woniu:9092
log.dirs=/home/data/kafka/logs
zookeeper.connect=10.0.7.62:2181,10.0.7.63:2181,10.0.7.30:2181
5、复制kafka文件夹到另外两台主机,注意:在拷贝目录下(例如:/home/app/)执行
scp -r kafka_2.11-2.2.0/ [email protected]:/home/app/
scp -r kafka_2.11-2.2.0/ [email protected]:/home/app/
6、编辑另外两台主机server.properties
#编辑server.properties
vi server.properties
#woniu1修改如下内容
broker.id=1
listeners=PLAINTEXT://woniu1:9092
advertised.listeners=PLAINTEXT://woniu1:9092
#=======分隔符========
#woniu2修改如下内容
broker.id=2
listeners=PLAINTEXT://woniu2:9092
advertised.listeners=PLAINTEXT://woniu2:9092
五、Kafka启动
#启动命令(三台都启动)
nohup kafka-server-start.sh /home/app/kafka_2.11-2.2.0/config/server.properties > /home/data/kafka/logs/kafka.log 2>&1 &
#停止命令
kafka-server-stop.sh
六、简单验证
1、创建topic
kafka-topics.sh \
--create --zookeeper woniu:2181,woniu1:2181,woniu2:2181 \
--replication-factor 2 \
--partitions 1 \
--topic woniu_topic
2、显示topic
kafka-topics.sh --describe \
--zookeeper woniu:2181, woniu1:2181, woniu2:2181 --topic woniu_topic
3、查询所有topic
kafka-topics.sh --list \
--zookeeper woniu:2181, woniu1:2181, woniu2:2181
4、删除topic
./kafka-topics.sh --delete \
--zookeeper woniu:2181, woniu1:2181, woniu2:2181 --topic woniu_topic
5、消息测试
#创建消费者
kafka-console-consumer.sh --bootstrap-server woniu:9092 --topic woniu_topic --from-beginning
#创建生产者
kafka-console-producer.sh --broker-list woniu:9092 --topic woniu_topic