Centos7 安装kafka_2.12-2.1.0笔记【单机版】

本文详细介绍了在Centos7系统中,如何安装JDK,独立安装Zookeeper,以及配置Kafka_2.12-2.1.0的过程。包括设置Zookeeper的配置参数,创建myid文件,配置环境变量,实现开机自启动。接着安装Kafka并修改相关配置,最后验证Kafka的可用性,创建topics和启动生产者与消费者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、JDK的依赖

查看Centos 系统有没有安装JDK :javac -version
在这里插入图片描述
假如没有,请查看:https://mp.youkuaiyun.com/postedit/84523339

2、安装单独的zookeeper

虽然 kafka 已经内集成有zookeeper,但是要做集群,还是独自安装zookeeper比较好。(虽然我现在是安装单机版。)

  • 使用命令直接下载zookeeper:
//下载
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

//解压到指定的位置
tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local/

//进入zookeeper的配置路径
cd /usr/local/zookeeper-3.4.13/conf/

//复制一个配置文件
cp zoo_sample.cfg  zoo.cf

//创建两个文件夹
mkdir /usr/local/zookeeper/zookeeper-3.4.13/logs
mkdir /usr/local/zookeeper/zookeeper-3.4.13/data

//修改配置文件
cd /usr/local/zookeeper-3.4.13/conf
vi zoo.cfg
  • 如下截图:

截图

  • 详细配置如下:

#ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime
tickTime=2000
#Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了
initLimit=10
#在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题
syncLimit=5
#存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直

### CentOS 7 环境下 Kafka 2.12-2.3.0 版本的离线安装方法 #### 准备工作 在开始之前,确保目标机器上已经具备以下条件: - 已经下载并准备好 Kafka 的二进制包 `kafka_2.12-2.3.0.tgz`。 - 安装好 Java 环境(建议 JDK 8 或更高版本),可以通过命令 `java -version` 来验证。 如果尚未准备 Kafka 软件包,则可以从 Apache Kafka 官方网站或其他可信源获取该压缩包,并将其传输到目标服务器上的指定路径。 #### 解压软件包 将已下载好的 Kafka 压缩包解压至合适位置。例如,在 `/opt/softwares/` 目录下执行如下操作: ```bash tar zxvf kafka_2.12-2.3.0.tgz -C /opt/softwares/ cd /opt/softwares/kafka_2.12-2.3.0/ ``` 完成上述步骤后赋予整个 Kafka 文件夹权限以便后续启动服务正常运行[^1]。 #### 修改配置文件 进入 Kafka 配置目录调整必要的参数设置以适应本地环境需求。重点在于更改每个节点中的 broker ID 和监听地址等内容来防止冲突发生以及满足网络规划的要求[^3]。 具体而言,编辑位于 `config/server.properties` 中的关键条目如下所示: - 设置唯一的 Broker Id (`broker.id`); - 如果多台主机组成集群则分别定义各自的 hostname/ip 地址作为 listeners 属性的一部分;另外还需确认 zookeeper.connect 是否指向正确的 ZooKeeper 实例列表。 #### 启动 ZooKeeper 及 Kafka Server 依次按照顺序先开启 ZooKeeper 再接着初始化 Kafka 自身的服务进程。以下是基于默认脚本的操作指南: ```bash # 切换到 bin 目录 cd /opt/softwares/kafka_2.12-2.3.0/bin/ # 启动 ZooKeeper ./zookeeper-server-start.sh -daemon ../config/zookeeper.properties # 启动 Kafka ./kafka-server-start.sh -daemon ../config/server.properties ``` 通过查看当前活动进程中是否存在对应的组件可以初步判断它们是否成功上线。利用工具如 `jps` 即可实现快速检测目的。 当不再需要这些后台程序继续运作时可通过相应的停止指令安全关闭资源占用情况下的实例对象。例如: ```bash # 关闭 Kafka ./kafka-server-stop.sh # 关闭 ZooKeeper ./zookeeper-server-stop.sh ``` 以上便是针对 CentOS 7 平台上进行 Kafka v2.12-2.3.0 版本离线部署的主要流程概述。 #### 注意事项 对于某些特定场景可能会遇到绑定端口失败等问题提示信息类似于:“ERROR [KafkaServer id=2] Fatal error during KafkaServer startup...Cannot assign requested address.” 此类现象通常是因为所选 IP 不可达或者被其他应用程序抢占所致因此务必核实实际可用状况后再做相应调整处理措施[^2]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值