应用介绍
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写,用于处理消费者在网站中的所有动作流数据。
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
部署简述
本文是对Kafka应用的二进制安装方式进行操作,这里以版本2.6.0为例。
配置JDK
请参考如下链接,这里不再赘述。
- Deploy OpenJDK for Centos 7
配置Zookeeper
请参考如下链接,这里不再赘述。
- Deploy Zookeeper for Centos 7
下载地址
版本根据需求下载,顺便提一句国内源一般只保留同步最新的3个版本
官方源
https://kafka.apache.org/downloads
清华源
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/
部署
- 安装wget
yum install -y wget
- 进入目录
cd /usr/local/
- 下载kafka_2.13-2.6.0.tgz
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz
- 解压、改名
tar xzvf kafka_2.13-2.6.0.tgz
mv kafka_2.13-2.6.0 kafka
# 这里也可以使用软连接的方式
ln -s kafka_2.13-2.6.0 kafk
- 配置配置文件: 修改为zookeeper的IP地址
vim config/server.properties
#修改localhost为zookeeper服务器IP
zookeeper.connect=localhost:2181
#改为
zookeeper.connect=172.16.14.20:218
- 启动Kafka服务
bin/kafka-server-start.sh -daemon config/server.properties
- 配置
# 需要的zookeeper地址配置为控制中心主机,创建名为data 的主题,一副本一分区
kafka-topics.sh --create --zookeeper 172.16.14.20:2181 --topic data --replication-factor 1 --partitions 1
#--topic后面的data是topic主题的名称
#--zookeeper应该和server.properties文件中的zookeeper.connect一样
#--replication-factor指定每个partition的副本个数,默认1个
#--partitions指定topic的partition分区数量,如果不指定该数量,默认是server.properties文件中的num.partitions配置值
- 查看配置列表
bin/kafka-topics.sh --list --zookeeper 172.16.14.20:2181
__consumer_offsets
data
- 编写系统服务kafka.service文件
-
- 注意:文件中提到的Environment参数需要填写JDK的绝对路径,如何查找在jdk文章中有相应说明。
vim /usr/lib/systemd/system/kafka.service
# 添加内容
[Unit]
Description=kafka
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="PATH=/usr/bin:/usr/lib:/etc:/usr/share:/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64/bin"
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
#PrivateTmp=true
[Install]
WantedBy=multi-user.targe
- 重载系统服务
systemctl daemon-reload
- 设置开机启动
systemctl enable kafka
- 启动命令
# start|status|stop
systemctl start kafka
到这里Kafka服务的相关部署就完成了, 还可以检查相关端口是否启用,访问是否正常(如异常请确认防火墙及SELinux状态)等。
参考资料
https://www.cnblogs.com/huxi2b/p/5923252.html
https://blog.csdn.net/ljl890705/article/details/80543109
分享、在看与点赞
只要你点,我们就是胖友
来自: Deploy Kafka for Centos 7