共计 2121 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | 这篇文章主要介绍了 nacos 单机本地配置文件存储位置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 |
nacos 单机本地配置文件存储位置
C:\Users***\nacos\config\config_rpc_client_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 及以下版本时,Linux 下如下方式启动:
sh startup.sh -m standalone
那么,当关闭窗口之后,Nacos 服务会自动退出。这是因为没有作为后台进程启动的原因。
解决方案,启动时作为后台进程进行启动:
sh startup.sh -m standalone
& // 或 setsidsh startup.sh -m standalone
& 在高版本中,此问题已经得到解决,脚本中执行 Java 程序时,用的便是后台进程。
shutdown 脚本误杀
在较低版本时,默认的 shutdown.sh 脚本脚本在集群情况下执行会将同一台机子上的所有节点都关闭掉,因为 shell 命令查找的是有 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
# 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"
以上为个人经验,希望能给大家一个参考
正文完
星哥玩云-微信公众号