最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nacos日志與Raft的數據清理指南

 更新時間:2025年05月29日 11:21:40   作者:碼農阿豪@新空間  
隨著運行時間的增長,Nacos 的日志文件(logs/)和 Raft 持久化數據(data/protocol/raft/)可能會占用大量磁盤空間,影響系統穩(wěn)定性,本文詳細探討Nacos日志與Raft如何安全釋放磁盤空間,需要的朋友可以參考下

引言

Nacos 作為阿里巴巴開源的服務發(fā)現與配置管理平臺,在微服務架構中廣泛使用。隨著運行時間的增長,Nacos 的日志文件(logs/)和 Raft 持久化數據(data/protocol/raft/)可能會占用大量磁盤空間,影響系統穩(wěn)定性。

本文詳細探討:

  • Nacos 日志文件是否可以刪除?如何清理?
  • Raft 數據目錄是否可以清理?如何優(yōu)化存儲?
  • 最佳實踐與自動化管理方案

適用于 Nacos 單機模式(standalone) 和 集群模式(cluster),并提供代碼示例和配置調整方案。

1. Nacos 日志文件(logs/ 目錄)清理

1.1 日志文件的作用

Nacos 的 logs/ 目錄存儲了運行日志,主要包括:

  • nacos.log(主日志)
  • access_log.xxxx-xx-xx.log(HTTP 訪問日志)
  • config.log(配置管理日志)
  • naming.log(服務發(fā)現日志)

這些日志用于 故障排查、性能監(jiān)控、安全審計,但長期積累會占用大量磁盤空間。

1.2 是否可以刪除?

文件類型是否可刪除備注
nacos.log(當前日志)? 不建議直接刪除可清空(echo "" > nacos.log
access_log.*.log(舊訪問日志)? 可刪除建議保留最近 7 天日志
config.log / naming.log? 可刪除按需保留

1.3 安全清理方案

(1) 手動清理(適用于臨時維護)

# 清空當前日志(避免直接 rm)
echo "" > nacos.log

# 刪除 7 天前的訪問日志
find logs/ -name "access_log.*.log" -mtime +7 -exec rm -f {} \;

(2) 配置 Logback 自動輪轉(推薦)

修改 conf/logback.xml,限制日志大小和保留天數:

<configuration>
    <appender name="nacosLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/nacos.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>logs/nacos.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 單個日志文件最大 100MB -->
            <maxFileSize>100MB</maxFileSize>
            <!-- 保留 30 天日志 -->
            <maxHistory>30</maxHistory>
            <!-- 總日志大小不超過 10GB -->
            <totalSizeCap>10GB</totalSizeCap>
        </rollingPolicy>
    </appender>
</configuration>

重啟 Nacos 生效:

sh startup.sh -m standalone

2. Raft 數據目錄(data/protocol/raft/)清理

2.1 Raft 數據的作用

Nacos 2.0+ 使用 JRaft 實現分布式一致性,data/protocol/raft/ 存儲:

  • log/:Raft 操作日志(類似 WAL)
  • snapshot/:數據快照(用于恢復)
  • meta.json:節(jié)點元數據

直接刪除可能導致 集群選舉失敗或數據丟失!

2.2 是否可以刪除?

運行模式是否可刪除風險
單機模式(standalone)? 可刪除(重啟后重建)數據重置
集群模式(cluster)? 不可直接刪除可能導致集群分 裂

2.3 安全優(yōu)化方案

(1) 調整 Raft 快照保留策略

修改 conf/raft.conf(Nacos 2.2+):

# 保留的快照數量(默認 3,改為 1 可節(jié)省空間)
raft.snapshot.retain_num = 1

# 日志分段大?。J 100MB,可降低)
raft.log.segment_size = 50MB

重啟集群生效:

sh shutdown.sh
sh startup.sh -m cluster

(2) 手動清理舊快照(謹慎操作)

# 保留最新快照,刪除舊的
cd data/protocol/raft/snapshot/
ls -t | tail -n +2 | xargs rm -rf  # 保留最新 1 個快照

(3) 極端情況:重建 Raft 數據(單機模式)

# 1. 停止 Nacos
sh shutdown.sh

# 2. 備份 raft 數據
cp -r data/protocol/raft/ raft_backup/

# 3. 清理 raft 目錄
rm -rf data/protocol/raft/*

# 4. 重啟 Nacos(自動重建數據)
sh startup.sh -m standalone

3. 最佳實踐總結

3.1 日志管理

  • ? 使用 Logback 自動輪轉,避免手動清理。
  • ? 定期歸檔并清理舊日志(如 find + logrotate)。
  • ? 不要直接 rm 正在寫入的日志文件。

3.2 Raft 數據管理

  • ? 集群模式優(yōu)先調整 raft.conf,而非手動刪除。
  • ? 單機模式可清理 raft/,但需重啟重建。
  • ? 禁止直接刪除集群模式的 Raft 數據!

3.3 自動化運維腳本示例

#!/bin/bash
# Nacos 日志與 Raft 數據清理腳本

# 1. 清理 7 天前的日志
find /opt/nacos/logs/ -name "*.log*" -mtime +7 -exec rm -f {} \;

# 2. 清理舊 Raft 快照(單機模式)
if [ "$MODE" = "standalone" ]; then
    cd /opt/nacos/data/protocol/raft/snapshot/
    ls -t | tail -n +2 | xargs rm -rf
fi

# 3. 重啟 Nacos(可選)
# sh /opt/nacos/bin/shutdown.sh
# sh /opt/nacos/bin/startup.sh -m $MODE

4. 結論

  • 日志文件:可定期清理,但建議通過 logback.xml 自動化管理。
  • Raft 數據:單機模式可清理,集群模式必須通過配置優(yōu)化。
  • 生產環(huán)境:務必備份數據,謹慎操作!

通過合理配置,Nacos 可以長期穩(wěn)定運行,避免磁盤爆滿問題。

以上就是Nacos日志與Raft數據清理指南的詳細內容,更多關于Nacos與Raft數據清理的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot集成selenium實現自動化測試的代碼工程

    SpringBoot集成selenium實現自動化測試的代碼工程

    Selenium?是支持web?瀏覽器自動化的一系列工具和[庫]?它提供了擴展來模擬用戶與瀏覽器的交互,用于擴展瀏覽器分配的分發(fā),本文給大家介紹了SpringBoot集成selenium實現自動化測試的代碼工程,需要的朋友可以參考下
    2024-08-08
  • SpringBoot配置Clickhouse的示例代碼

    SpringBoot配置Clickhouse的示例代碼

    這篇文章主要介紹了SpringBoot配置Clickhouse的示例代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考價值,需要的朋友可以參考下
    2022-02-02
  • SpringCloud+Redis實現Api接口限流防止惡意刷接口

    SpringCloud+Redis實現Api接口限流防止惡意刷接口

    接口限流是為了保護系統和服務,防止因為過多的請求而崩潰,本文主要介紹了SpringCloud+Redis實現Api接口限流防止惡意刷接口,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • SpringBoot和前端Vue的跨域問題及解決方案

    SpringBoot和前端Vue的跨域問題及解決方案

    所謂跨域就是從 A 向 B 發(fā)請求,如若他們的地址協議、域名、端口都不相同,直接訪問就會造成跨域問題,跨域是非常常見的現象,這篇文章主要介紹了解決SpringBoot和前端Vue的跨域問題,需要的朋友可以參考下
    2023-11-11
  • idea?springboot?jdk?maven版本兼容關系(最新推薦)

    idea?springboot?jdk?maven版本兼容關系(最新推薦)

    文章總結了SpringBoot、JDK、Maven和IntelliJIDEA之間的版本兼容性推薦,幫助開發(fā)者避免版本沖突和“版本地獄”,建議使用SpringBoot?3.3和JDK?21進行新項目開發(fā),使用SpringBoot?2.7和JDK?17進行企業(yè)穩(wěn)定項目開發(fā),感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 帶你快速搞定java多線程(3)

    帶你快速搞定java多線程(3)

    這篇文章主要介紹了java多線程編程實例,分享了幾則多線程的實例代碼,具有一定參考價值,加深多線程編程的理解還是很有幫助的,需要的朋友可以參考下
    2021-07-07
  • Java實現平鋪列表(List)互轉樹形(Tree)結構

    Java實現平鋪列表(List)互轉樹形(Tree)結構

    本文主要介紹了Java實現平鋪列表(List)互轉樹形(Tree)結構,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 深入解析HashMap的put方法

    深入解析HashMap的put方法

    在Java集合中,HashMap的重要性不言而喻,作為一種存儲鍵值對的數據結構,它在日常開發(fā)中有著非常多的應用場景,也是面試中的高頻考點,本篇文章就來分析一下HashMap集合中的put方法
    2022-01-01
  • 基于Spring Cloud實現文件服務預覽與靜態(tài)資源映射

    基于Spring Cloud實現文件服務預覽與靜態(tài)資源映射

    本文檔針對 Spring Cloud 微服務架構中文件上傳服務的預覽需求,系統分析多種技術方案的適用場景、性能特征及安全模型,并提供可落地的配置示例與最佳實踐,需要的朋友可以參考下
    2026-06-06
  • spring-cloud入門之spring-cloud-config(配置中心)

    spring-cloud入門之spring-cloud-config(配置中心)

    這篇文章主要介紹了spring-cloud入門之spring-cloud-config(配置中心),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論

庆元县| 松桃| 香格里拉县| 土默特左旗| 凤凰县| 阿城市| 临汾市| 河北区| 闸北区| 辽阳市| 阿勒泰市| 龙海市| 扎鲁特旗| 桃园县| 蕲春县| 洪湖市| 长治市| 祁东县| 安康市| 武义县| 达孜县| 栾城县| 大安市| 栖霞市| 威信县| 天祝| 安化县| 陇南市| 苏州市| 色达县| 错那县| 达日县| 墨脱县| 丘北县| 子洲县| 岳西县| 德阳市| 拉孜县| 刚察县| 乌恰县| 奉节县|