17.4. 升级到 AMQ Streams 2.0
本节概述了将部署升级到使用 AMQ Streams 2.0 的步骤。
由 AMQ Streams 管理的 Kafka 集群的可用性不受升级操作的影响。
有关如何升级到该版本的信息,请参阅支持特定版本的 AMQ Streams 文档。
17.4.1. 升级 Kafka 代理和 ZooKeeper 复制链接链接已复制到粘贴板!
此流程描述了如何在主机中升级 Kafka 代理和 ZooKeeper 以使用 AMQ Streams 的最新版本。
先决条件
-
以
kafka
用户身份登录 Red Hat Enterprise Linux。
流程
对于 AMQ Streams 集群中的每个 Kafka 代理,一次一个:
从 客户门户网站 下载 AMQ Streams 存档。
注意如有提示,登录到您的红帽帐户。
在命令行中,创建一个临时目录并提取
amq-streams-x.y.z-bin.zip
文件的内容。mkdir /tmp/kafka unzip amq-streams-x.y.z-bin.zip -d /tmp/kafka
mkdir /tmp/kafka unzip amq-streams-x.y.z-bin.zip -d /tmp/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果运行,停止 ZooKeeper 和主机上运行的 Kafka 代理。
/opt/kafka/bin/zookeeper-server-stop.sh /opt/kafka/bin/kafka-server-stop.sh jcmd | grep zookeeper jcmd | grep kafka
/opt/kafka/bin/zookeeper-server-stop.sh /opt/kafka/bin/kafka-server-stop.sh jcmd | grep zookeeper jcmd | grep kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从现有安装中删除
libs
、bin
和docs
目录:rm -rf /opt/kafka/libs /opt/kafka/bin /opt/kafka/docs
rm -rf /opt/kafka/libs /opt/kafka/bin /opt/kafka/docs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从临时目录中复制
libs
、bin
和docs
目录:cp -r /tmp/kafka/kafka_y.y-x.x.x/libs /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/bin /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/docs /opt/kafka/
cp -r /tmp/kafka/kafka_y.y-x.x.x/libs /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/bin /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/docs /opt/kafka/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除临时目录。
rm -r /tmp/kafka
rm -r /tmp/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在文本编辑器中,打开代理属性文件,通常存储在
/opt/kafka/config/
目录中。 检查
inter.broker.protocol.version
和log.message.format.version
属性是否已设置为当前版本:inter.broker.protocol.version=2.8 log.message.format.version=2.8
inter.broker.protocol.version=2.8 log.message.format.version=2.8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
inter.broker.protocol.version
保持不变,可确保代理可以在升级过程中继续相互通信。如果没有配置属性,请使用当前版本添加它们。
重启更新的 ZooKeeper 和 Kafka 代理:
/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka 代理和 Zookeeper 将开始使用最新 Kafka 版本的二进制文件。
-
验证重启的 Kafka 代理是否有分区副本。使用
kafka-topics.sh
工具来确保代理中包含的所有副本都重新同步。具体步骤请参阅 列出和描述主题。 - 执行升级 Kafka 的步骤,如 第 17.5 节 “升级 Kafka” 所述。
17.4.2. 升级 Kafka Connect 复制链接链接已复制到粘贴板!
这个步骤描述了如何在主机中升级 Kafka Connect 集群。
先决条件
-
以
kafka
用户身份登录 Red Hat Enterprise Linux。 - Kafka Connect 尚未启动。
流程
对于 AMQ Streams 集群中的每个 Kafka 代理,一次一个:
从 客户门户网站 下载 AMQ Streams 存档。
注意如有提示,登录到您的红帽帐户。
在命令行中,创建一个临时目录并提取
amq-streams-x.y.z-bin.zip
文件的内容。mkdir /tmp/kafka unzip amq-streams-x.y.z-bin.zip -d /tmp/kafka
mkdir /tmp/kafka unzip amq-streams-x.y.z-bin.zip -d /tmp/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果运行,请停止主机上运行的 Kafka 代理和 ZooKeeper。
/opt/kafka/bin/kafka-server-stop.sh /opt/kafka/bin/zookeeper-server-stop.sh
/opt/kafka/bin/kafka-server-stop.sh /opt/kafka/bin/zookeeper-server-stop.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从现有安装中删除
libs
、bin
和docs
目录:rm -rf /opt/kafka/libs /opt/kafka/bin /opt/kafka/docs
rm -rf /opt/kafka/libs /opt/kafka/bin /opt/kafka/docs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从临时目录中复制
libs
、bin
和docs
目录:cp -r /tmp/kafka/kafka_y.y-x.x.x/libs /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/bin /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/docs /opt/kafka/
cp -r /tmp/kafka/kafka_y.y-x.x.x/libs /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/bin /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/docs /opt/kafka/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除临时目录。
rm -r /tmp/kafka
rm -r /tmp/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以独立或分布式模式启动 Kafka 连接。
要在独立模式中启动,请运行
connect-standalone.sh
脚本。指定 Kafka Connect 独立配置文件和 Kafka Connect 连接器的配置文件。su - kafka /opt/kafka/bin/connect-standalone.sh /opt/kafka/config/connect-standalone.properties connector1.properties [connector2.properties ...]
su - kafka /opt/kafka/bin/connect-standalone.sh /opt/kafka/config/connect-standalone.properties connector1.properties [connector2.properties ...]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在分布式模式下启动,请使用所有 Kafka Connect 节点上的
/opt/kafka/config/connect-distributed.properties
配置文件启动 Kafka Connect worker:su - kafka /opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.properties
su - kafka /opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证 Kafka Connect 是否正在运行:
在独立模式中:
jcmd | grep ConnectStandalone
jcmd | grep ConnectStandalone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在分布式模式中:
jcmd | grep ConnectDistributed
jcmd | grep ConnectDistributed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 验证 Kafka Connect 是否按预期生成和使用数据。