简单介绍nacos单机本地配置文件存储位置方式

Crq
Crq
管理员
1880
文章
0
粉丝
Linux教程评论6字数 687阅读2分17秒阅读模式
摘要这篇文章主要介绍了nacos单机本地配置文件存储位置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
nacos单机本地配置文件存储位置

C:\Users***\nacos\config\config_rpc_client_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及以下版本时,Linux下如下方式启动:

    sh startup.sh -m standalone

    那么,当关闭窗口之后,Nacos服务会自动退出。这是因为没有作为后台进程启动的原因。

    解决方案,启动时作为后台进程进行启动:

    sh startup.sh -m standalone &
    // 或
    setsid sh 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"

    以上为个人经验,希望能给大家一个参考

    weinxin
    我的微信
    微信号已复制
    我的微信
    这是我的微信扫一扫
     
    Crq
    • 本文由 Crq 发表于2025年3月15日 03:38:10
    • 转载请注明:https://www.cncrq.com/13454.html
    在 Lua 中使用参数技巧 Linux教程

    在 Lua 中使用参数技巧

    大多数计算机命令由两部分组成:命令和参数。命令是要执行的程序,而参数可能是命令选项或用户输入。如果没有这种结构,用户将不得不编辑命令的代码,以改变命令所处理的数据。
    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
    确定

    拖动滑块以完成验证