簡單介紹nacos單機本地配置檔案儲存位置方式

大雄45發表於2023-03-29
導讀 這篇文章主要介紹了nacos單機本地配置檔案儲存位置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
nacos單機本地配置檔案儲存位置

C:\Users***\nacos\config\config_rpc_client_nacos\

簡單介紹nacos單機本地配置檔案儲存位置方式簡單介紹nacos單機本地配置檔案儲存位置方式

單機版Nacos檔案配置問題
Nacos服務自動關閉

在使用Nacos時,有時候會遇到服務自動關閉的情況。

這通常涉及到三方面的原因:

  • 記憶體配置
  • 啟動方式
  • 關閉方式
  • 下面逐一說明。

    記憶體配置導致Nacos關閉

    Nacos最新版本預設的JVM配置是2G,如果你的伺服器配置比較低,在這樣的預設配置下會導致OOM情況的發生。

    startup.sh中配置項:

if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
    if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
        JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
    fi
    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
    JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
 
fi

這種情況,要麼升級伺服器配置,要麼調整JVM引數,如果非必須建議調整JVM引數。除非業務量必須需要這麼大的配置。

啟動方式導致關閉

使用Nacos較低版本時,比如nacos 0.7.0 releases及以下版本時, 下如下方式啟動:

sh startup.sh -m standalone

那麼,當關閉視窗之後,Nacos服務會自動退出。這是因為沒有作為後臺程式啟動的原因。

解決方案,啟動時作為後臺程式進行啟動:

sh startup.sh -m standalone &
 
// 或
 
setsid sh startup.sh -m standalone &
在高版本中,此問題已經得到解決,指令碼中執行Java程式時,用的便是後臺程式。
shutdown 誤殺

在較低版本時,預設的shutdown.sh指令碼指令碼在叢集情況下執行會將同一臺機子上的所有節點都關閉掉,因為 查詢的是有nacos.nacos標記的pid,當搭建偽叢集的情況,就會發生被誤殺的情況。

為了避免shutdown.sh指令碼的誤殺,應該預設關閉當前目錄下的節點更為安全,例如將原指令碼更改為:

#!/bin/sh
 
# Copyright 1999-2018 Alibaba Group Holding Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
 
#      
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
BIN_DIR=$(cd `dirname $0`;pwd)
#獲取專案根目錄
DEPLOY_DIR=$(cd ${BIN_DIR};cd ..;pwd)
 
pid=`ps ax | grep -i $DEPLOY_DIR |grep java | grep -v grep | awk '{print $1}'`
if [ -z "$pid" ] ; then
        echo "No nacosServer running."
        exit -1;
fi
 
echo "The nacosServer(${pid}) is running..."
 
kill ${pid}
 
echo "Send shutdown request to nacosServer(${pid}) OK"

以上為個人經驗,希望能給大家一個參考

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2929387/,如需轉載,請註明出處,否則將追究法律責任。

相關文章