五,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进程则表明启动成功!

相关推荐
七歌杜金房5 分钟前
我终于又有了自己的 Linux 电脑
linux·debian·mac
SkyWalking中文站8 小时前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
tntxia1 天前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
江华森2 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森2 天前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行