centos7-kafka_2.12-2.3.1集群搭建

本文详细介绍了在CentOS7环境下,如何配置和搭建kafka_2.12-2.3.1集群,包括jdk的安装、zookeeper集群的搭建以及kafka集群的配置和验证。特别强调了版本对应的重要性,如kafka对jdk版本的要求,以及zookeeper集群中myid的设置。

目录

1、 准备

2、 jdk安装配置

3、 zookeeper集群搭建

4、kafka集群搭建

验证:


1、 准备
        环境准备很重要,尤其是版本对应,如果不注意jdk和kafka的版本,kafka和zookeeper的版本,中间会报一些奇奇怪怪的错。对应准备的版本:

  • 三台服务器:192.168.20.126,192.168.20.127,192.168.20.128(以下操作均为三台服务器)
  • kafka:kafka_2.12-2.3.1
  • jdk:jdk-8u241-linux-x64.tar.gz(注kafka对jdk版本要求比较高,最好严格限定jdk版本号)否则会报    java.net.UnknownHostException: hostname 异常
  • zookeeper: zookeeper-3.4.14(kafka有内置的zookeeper,如果不知道zk应该用哪个版本,可以再kafka中查看对应的版本号)。

2、 jdk安装配置

# 下载jdk,解压
tar -zxvf jdk-8u241-linux-x64.tar.gz
# 配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 配置生效
source /etc/profile

jdk版本造成异常及解决:

异常:

java.lang.VerifyError: Uninitialized object exists on backward branch 209
Exception Details:
  Location:
    scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immutable/Seq; @248: goto
  Reason:
    Error exists in the bytecode
  Bytecode:
    0000000: 2ab6 0064 04a0 001e b200 c1b2 00c6 04bd
    0000010: 0002 5903 2a53 c000 c8b6 00cc b600 d0c0
    0000020: 00d2 b02a b600 38b8 0042 3c1b 04a4 0155
    0000030: 1b05 6c3d 2a1b 056c 2ab6 0038 b700 d43e
    0000040: 2ab6 0038 021d 787e 3604 2ab6 0038 0210
    0000050: 201d 647c 7e36 05bb 0019 59b2 00c6 2ab6
    0000060: 003a c000 c8b6 00d8 b700 db1c b600 df3a
    0000070: 0619 06c6 001a 1906 b600 e3c0 008b 3a07
    0000080: 1906 b600 e6c0 008b 3a08 a700 0cbb 00e8
    0000090: 5901 b700 ebbf 1907 3a09 1908 3a0a bb00
    00000a0: 0259 1504 1909 bb00 1959 b200 c619 09c0
 
### 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 实例列表。 #### 启动 ZooKeeperKafka 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]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dengrz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值