nacos單機本地配置文件存儲位置方式
nacos單機本地配置文件存儲位置
C:\Users***\nacos\config\config_rpc_client_nacos\
單機版Nacos文件配置問題
Nacos服務(wù)自動關(guān)閉
在使用Nacos時,有時候會遇到服務(wù)自動關(guān)閉的情況。
這通常涉及到三方面的原因:
- 內(nèi)存配置
- 啟動方式
- 關(guān)閉方式
下面逐一說明。
內(nèi)存配置導(dǎo)致Nacos關(guān)閉
Nacos最新版本默認(rèn)的JVM配置是2G,如果你的服務(wù)器配置比較低,在這樣的默認(rèn)配置下會導(dǎo)致OOM情況的發(fā)生。
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
這種情況,要么升級服務(wù)器配置,要么調(diào)整JVM參數(shù),如果非必須建議調(diào)整JVM參數(shù)。除非業(yè)務(wù)量必須需要這么大的配置。
啟動方式導(dǎo)致關(guān)閉
使用Nacos較低版本時,比如nacos 0.7.0 releases及以下版本時,Linux下如下方式啟動:
sh startup.sh -m standalone
那么,當(dāng)關(guān)閉窗口之后,Nacos服務(wù)會自動退出。這是因為沒有作為后臺進程啟動的原因。
解決方案,啟動時作為后臺進程進行啟動:
sh startup.sh -m standalone & // 或 setsid sh startup.sh -m standalone &
在高版本中,此問題已經(jīng)得到解決,腳本中執(zhí)行Java程序時,用的便是后臺進程。
shutdown腳本誤殺
在較低版本時,默認(rèn)的shutdown.sh腳本腳本在集群情況下執(zhí)行會將同一臺機子上的所有節(jié)點都關(guān)閉掉,因為shell命令查找的是有nacos.nacos標(biāo)記的pid,當(dāng)搭建偽集群的情況,就會發(fā)生被誤殺的情況。
為了避免shutdown.sh腳本的誤殺,應(yīng)該默認(rèn)關(guān)閉當(dāng)前目錄下的節(jié)點更為安全,例如將原腳本更改為:
#!/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 # ? ? ?http://www.apache.org/licenses/LICENSE-2.0 # # 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"
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用spring實現(xiàn)郵件的發(fā)送實例(含測試,源碼,注釋)
本篇文章主要介紹了使用spring實現(xiàn)郵件的發(fā)送實例,詳細(xì)的介紹了使用spring配置實現(xiàn)郵件發(fā)送,含測試,源碼,注釋,有興趣的可以下2017-05-05SpringBoot實現(xiàn)優(yōu)雅停機的流程步驟
優(yōu)雅停機(Graceful Shutdown) 是指在服務(wù)器需要關(guān)閉或重啟時,能夠先處理完當(dāng)前正在進行的請求,然后再停止服務(wù)的操作,本文給大家介紹了SpringBoot實現(xiàn)優(yōu)雅停機的流程步驟,需要的朋友可以參考下2024-03-03Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之二叉樹
今天給大家?guī)淼氖顷P(guān)于Java數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,文章圍繞著Java二叉樹展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼
這篇文章主要介紹了SpringCloud之分布式配置中心Spring Cloud Config高可用配置實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04Mybatis實現(xiàn)Mapper動態(tài)代理方式詳解
這篇文章主要為大家詳細(xì)介紹了Mybatis實現(xiàn)Mapper動態(tài)代理方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08