五,Linux基础环境搭建(CentOS7)- 安装Kafka

Linux基础环境搭建(CentOS7)- 安装Kafka

大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题!


一、Kafka下载及安装

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

Kafka的下载

kafka下载链接:https://pan.baidu.com/s/1MykjKEqhqei1dgOAL2I_lg

提取码:4ohb

将下载的安装包通过Xftp传输到Linux虚拟机/opt/software/中

Kafka的安装

创建工作路径/usr/kafka,下载kafka安装包到/opt/software中,然后解压至工作路径。

复制代码
mkdir /usr/kafka		#创建工作路径
cd /opt/software		#进入安装包的文件夹
tar -zxvf kafka_2.11-0.11.0.0.tgz -C /usr/kafka		#解压kafka

二、配置Kafka组件

1.server.properties

首先创建一个log文件夹存放日志文件,然后修改server.properties配置文件

复制代码
mkdir /usr/kafka/kafka_2.11-0.11.0.0/logs
vim /usr/kafka/kafka_2.11-0.11.0.0/config/server.properties

修改如下:

复制代码
#broker的全局唯一编号,不能重复
broker.id=0		#需要操作,每台机器id号不一样
#删除topic的功能使能
delete.topic.enable=true	#需要操作
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接受套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志存放的路径
log.dirs=/usr/kafka/kafka_2.11-0.11.0.0/logs		#需要操作
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数量的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超过将被删除
log.retention.hours=168
#配置zookeeper集群地址
zookeeper.connect=master:2181,slave1:2181,slave2:2181		#需要操作

三、配置Kafka环境变量

复制代码
vim /etc/profile
复制代码
export KAFKA_HOME=/usr/kafka/kafka_2.11-0.11.0.0/
export PATH=$PATH:$KAFKA_HOME/bin

主节点生效环境变量

复制代码
source /etc/profile

四、同步其他虚拟机

复制代码
scp -r /etc/profile root@slave1:/etc/profile	#将环境变量profile文件分发到slave1节点
scp -r /etc/profile root@slave2:/etc/profile	#将环境变量profile文件分发到slave2节点
scp -r /usr/kafka root@slave1:/usr/kafka		#将kafka文件分发到slave1节点
scp -r /usr/kafka root@slave2:/usr/kafka		#将kafka文件分发到slave1节点

生效两个从节点的环境变量

复制代码
source /etc/profile		#slave1和slave2都要执行

修改两个从节点的server.properties文件

master的broker.id为0,slave1的broker.id为1,slave2的broker.id为2(确保三台服务器的broke.id不同)

复制代码
vim /usr/kafka/kafka_2.11-0.11.0.0/config/server.properties

五、启动\停止Kafka(三台机器)

先启动Zookeeper(三台机器)

由于kafka工作依赖于zookeeper,因此得先启动zookeeper,再启动kafka

复制代码
cd /usr/zookeeper/zookeeper-3.4.10		#先进入zookeeper的目录
bin/zkServer.sh start		#三台机器启动zookeeper
bin/zkServer.sh status		#查看启动状态

master slave1 slave2

通过上面状态查询结果可见,一个节点是Leader,其余的结点是Follower(Leader不一定是主节点,系统随机分配的),即zookeeper启动成功!

启动Kafka
复制代码
/usr/kafka/kafka_2.11-0.11.0.0/bin/kafka-server-start.sh -daemon /usr/kafka/kafka_2.11-0.11.0.0/config/server.properties
停止Kafka
复制代码
/usr/kafka/kafka_2.11-0.11.0.0/bin/kafka-server-stop.sh /usr/kafka/kafka_2.11-0.11.0.0/config/server.properties
查看进程

master

slave1

slave2

如果三台机器启动后,三台机器jps查看进程,均有Kafka进程则表明启动成功!

相关推荐
jdyzzy17 分钟前
2小时,我搭建了一套可追踪的任务管理流程
运维·devops·项目统计表
我和我导针锋相队18 分钟前
在撰写项目书时,如何在有限的篇幅里平衡呈现“问题链”“合作证据链”和“创新落地计划”,避免内容冗余又能清晰传递核心信息?
大数据·运维·人工智能
白云千载尽19 分钟前
ssh远程连接之后的scp命令工具来操作文件
运维·服务器·ssh
想进部的张同学29 分钟前
RK3588开发板安装GStreamer硬件加速插件完整指南 成功版本(docker)
运维·docker·容器·rkmpp
康康的AI博客39 分钟前
AI辅助文献综述:基于Gemini 2.5 Pro的自动化研究革命
运维·自动化
陈聪.44 分钟前
HRCE简单实验
linux·运维·数据库
涟漪海洋1 小时前
docker启动容器覆盖镜像中的命令
运维·docker·容器
haluhalu.1 小时前
从 Linux 线程控制到 pthread 库
java·linux·服务器
indexsunny1 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的三轮提问
java·spring boot·微服务·eureka·kafka·mybatis·spring security
水境传感 张园园1 小时前
自来水厂水质监测站:用数据守护饮水安全
运维·服务器·网络