apache-kafka - 如何在 linux 中升级 apache kafka
问题描述
我有一个关于 kafka 升级的新手问题。这是我第一次在 Linux 中升级我的 kafka。
我当前的版本是“kafka_2.11-1.0.0.tgz”。当我最初设置时,我有一个名为 kafka_2.11-1.0.0 的文件夹。
现在我下载了一个新版本“kafka_2.12-2.3.0.tgz”。如果我提取它将创建一个新文件夹 kafka_2.12-2.3.0,这将产生 2 个带有 server.properties 的独立 kafka。
根据文档,我必须使用以下 2 个属性更新 server.properties ..
inter.broker.protocol.version=2.3 log.message.format.version=2.3
如果要将其安装在具有新 server.properties 的新目录中,这将有何影响?
如何合并 server.properties 并进行升级?如果您有文件或步骤,请分享..
解决方案
升级 Kafka 相当简单。您将配置文件与二进制目录分开会更容易,因此,据我了解,您的配置文件保留在 untar 包文件夹中。下次在 Linux 服务器上打包时,可以将配置文件放在 /etc/kafka 中。
您可以在这里做的是,在解压您的 kafka_2.12-2.3.0.tgz 文件后,您只需复制以前的 server.properties(以及您可能使用的其他配置文件)并替换2.3.0
树状结构中的那个。
但是要注意,对于inter.broker.protocol.version=2.3
和log.message.format.version=2.3
参数,在滚动重启之前,您必须首先为这些参数指定以前的版本(并且 message.format 不是强制更改,请仔细检查该文档)。
如果您现在使用的是 1.0,只需输入以下内容:
inter.broker.protocol.version=1.0
然后log.message.format.version=1.0
一一重启您的代理(这次使用新的包文件夹)
然后按如下方式再次编辑它们:
inter.broker.protocol.version=2.3
并log.message.format.version=2.3
进行第二次滚动重启。
那你应该很好
更多细节在这里: https ://kafka.apache.org/documentation/#upgrade_2_3_0
雅尼克
推荐阅读
- sql - INSERT 语句与表插入中的 FOREIGN KEY 约束冲突
- python - 确定字典列表是否具有等效值
- sql - SQL 查询 (Oracle) - 选择最接近给定日期的日期
- applescript - 为什么下面的applescript不会模拟按键?
- mysql - 仅获取 customer_ID 的一个值 where 多行 where
- typescript - 为什么我不能将数字转换为类型数字|字符串上的字符串,TS2322
- pip - 将终端 python 包链接到 IDLE python 包
- javascript - 应用 v-model 导致“编译失败”
- xml - XML 数据对于模式“[A-FH-Z][AZ]|[AZ][A-QS-Z]”不是 Facet-valid
- pyspark - 如何将共享 id 的多行合并为一行(PYSPARK)