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