Information Server 中共享开源服务中 kafka 的__consumer_offsets目录过大清理

1,11.7新版本的 IBM InfoSphere Information Server 将 Apache Kafka、Solr 和 ZooKeeper 安装在<ISHOME>服务层的 /shared-open-source 目录中。

默认情况下,共享开源中的 Kafka 对 __consumer_offsets 主题使用"压缩"日志清理策略,这可能会导致该主题产生许多日志文件并填满磁盘空间。

目标:

将__consumer_offsets主题的 Kafka 日志保留策略更改为 "delete"

Steps 步骤:

1. 禁用 Kafka Log Cleaner 线程。

在 Services tier(服务层)<ISHOME>中,在文本编辑器中打开 /shared-open-source/kafka/conf/server1.properties 文件。例如,在 Unix 或 Linux 中打开 /opt/IBM/InformationServer/shared-open-source/kafka/conf/server1.properties,在 Windows 中打开 C:\IBM\InformationServer\shared-open-source\kafka\conf\server1.properties。

如果 log.cleaner.enable 属性设置为 "true",请将其更改为 "false",如下所示,保存并退出文本编辑器。

复制代码
log.cleaner.enable=false

注意:"压缩"清理策略需要 Log Cleaner 线程。如果您需要对某些主题使用 "compact" 策略,请将其设置为 "true"。请参阅 log.cleaner.enable。

2. 将__consumer_offsets主题的日志清理策略更改为"delete"。

在 Services tier(服务层)中,确保 Kafka 服务已启动并正在运行,然后运行以下命令。

复制代码
## In Unix / Linux
cd /opt/IBM/InformationServer/shared-open-source/kafka/install/bin
./kafka-topics.sh --zookeeper localhost:52181 --topic __consumer_offsets --alter --config cleanup.policy=delete

# OR
./kafka-configs.sh --bootstrap-server localhost:59092 --alter --entity-type topics --entity-name __consumer_offsets --add-config cleanup.policy=delete

## In Windows CMD window
cd C:\IBM\InformationServer\shared-open-source\kafka\install\bin\windows
kafka-topics.bat --zookeeper localhost:52181 --topic __consumer_offsets --alter --config cleanup.policy=delete

# OR
kafka-configs.bat --bootstrap-server localhost:59092 --alter --entity-type topics --entity-name __consumer_offsets --add-config cleanup.policy=delete

注意:如果脚本因 java 错误或缺少 java 命令而失败,请将 JAVA_HOME 设置为 <ISHOME>/jdk/jre,然后重试。

复制代码
## In Unix / Linux
JAVA_HOME=/opt/IBM/InformationServer/jdk/jre; export JAVA_HOME

## In Windows
set JAVA_HOME=C:\IBM\InformationServer\jdk\jre

确认 __consumer_offsets 的日志保留策略已更改为 "delete"。以下命令输出必须显示 "cleanup.policy=delete"。

复制代码
## In Unix / Linux
./kafka-topics.sh  --zookeeper localhost:52181 --describe --topic __consumer_offsets

# OR
./kafka-configs.sh --bootstrap-server localhost:59092 --describe --entity-type topics --entity-name __consumer_offsets


## In Windows
kafka-topics.bat --zookeeper localhost:52181 --describe --topic __consumer_offsets

# OR
kafka-configs.bat --bootstrap-server localhost:59092 --describe --entity-type topics --entity-name __consumer_offsets

Note: 注意:

(1) 最新版本的 Kafka 命令可能不再支持 "--zookeeper <zk_host>:<zk_port>" 选项,在这种情况下请使用 "--bootstrap-server <kafka_host>:<kafka_port>" 选项。例如,使用
kafka-configs.sh --bootstrap-server localhost:59092 --describe --entity-type topics --entity-name __consumer_offsets
kafka-configs.sh --bootstrap-server localhost:59092 --describe --entity-type topics --entity-name __consumer_offsets代替
kafka-configs.sh --zookeeper localhost:52181 --describe --entity-type topics --entity-name __consumer_offsets
kafka-configs.sh --zookeeper localhost:52181 --describe --entity-type topics --entity-name __consumer_offsets
(2) 一旦清理策略更改为 "delete",shared-open-source/kafka/data/1/__consumer_offsets-0 目录下的旧文件将被 Kafka 删除。

* Windows 上 v11.7.1.4 中的示例会话

复制代码
C:\IBM\InformationServer\shared-open-source\kafka\install\bin\windows>prompt $g

>cd
C:\IBM\InformationServer\shared-open-source\kafka\install\bin\windows

>kafka-topics.bat --zookeeper localhost:52181 --describe --topic __consumer_offsets
Topic: __consumer_offsets       TopicId: dWguAomoTh2txeL6NEMKSQ PartitionCount: 1       ReplicationFactor: 1    Configs: compression.type=producer,cleanup.policy=compact,segment.bytes=104857600
        Topic: __consumer_offsets       Partition: 0    Leader: 1       Replicas: 1     Isr: 1
>
>kafka-configs.bat --bootstrap-server localhost:59092 --alter --entity-type topics --entity-name __consumer_offsets --add-config cleanup.policy=delete
Completed updating config for topic __consumer_offsets.
>
>kafka-configs.bat --bootstrap-server localhost:59092 --describe --entity-type topics --entity-name __consumer_offsets
Dynamic configs for topic __consumer_offsets are:
  compression.type=producer sensitive=false synonyms={DYNAMIC_TOPIC_CONFIG:compression.type=producer, DEFAULT_CONFIG:compression.type=producer}
  cleanup.policy=delete sensitive=false synonyms={DYNAMIC_TOPIC_CONFIG:cleanup.policy=delete, STATIC_BROKER_CONFIG:log.cleanup.policy=delete, DEFAULT_CONFIG:log.cleanup.policy=delete}
  segment.bytes=104857600 sensitive=false synonyms={DYNAMIC_TOPIC_CONFIG:segment.bytes=104857600, STATIC_BROKER_CONFIG:log.segment.bytes=10485760, DEFAULT_CONFIG:log.segment.bytes=1073741824}
>

3. 如果您在步骤 1 中更改了 log.clean.enable 属性,请重新启动共享的开源服务。

复制代码
## In Unix / Linux
cd /opt/IBM/InformationServer
shared-open-source/bin/stop-*-services.sh
shared-open-source/bin/start-*-services.sh

## In Windows
cd C:\IBM\InformationServer
shared-open-source\bin\stop-windows-services.bat
shared-open-source\bin\start-windows-services.bat

4,最后,根据最佳实践,开源kafka有自己的配置文件,建议将日志保留时间配置为48小时,参考下图,然后重启开源共享服务,参考步骤3。

vi /opt/IBM/InformationServer/shared-open-source/kafka/conf/server1.properties

参考官方链接:https://www.ibm.com/support/pages/how-clean-log-collection-kafka-shared-open-source-service-information-server

相关推荐
GoCodingInMyWay2 小时前
开源好物 26/03
人工智能·开源
深蓝电商API2 小时前
分布式事务在跨境交易中的解决方案
分布式·跨境电商·代购系统·反向海淘·代购平台·跨境代购
百锦再2 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven
Hommy884 小时前
【开源剪映小助手】IPC 通信机制
python·开源·aigc·剪映小助手
我真会写代码6 小时前
从入门到精通:Kafka核心原理与实战避坑指南
分布式·缓存·kafka
程序员Better7 小时前
一口气拆穿Skill/MCP/RAG/Agent/OpenClaw底层逻辑
人工智能·开源·agent
黄俊懿8 小时前
【架构师从入门到进阶】第二章:系统衡量指标——第一节:伸缩性、扩展性、安全性
分布式·后端·中间件·架构·系统架构·架构设计
一叶飘零_sweeeet8 小时前
击穿 Kafka 高可用核心:分区副本、ISR 机制与底层原理全链路拆解
分布式·架构·kafka
小鱼儿ai9 小时前
用 OpenClaw 搭建自媒体自动化工作流(完整实战)
开源
007张三丰9 小时前
常用缓存技术全方位解析:从本地缓存到分布式缓存
分布式·缓存