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

 更新时间:2022年11月23日 17:00:02   作者:*馒头  
这篇文章主要介绍了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 &

// 或

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"

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Java实现在PDF插入页眉页脚

    使用Java实现在PDF插入页眉页脚

    在处理PDF文档时,有时需要为文档中的每一页添加页眉和页脚,这篇文章主要为大家详细介绍了如何使用Java为PDF文件添加页眉、页脚,感兴趣的可以了解下
    2024-03-03
  • Java怎么获取多网卡本地ip

    Java怎么获取多网卡本地ip

    java获取本地ip,获取多网卡本地ip在项目中经常会用到,下面小编把代码分享到脚本之家平台,供大家参考
    2016-03-03
  • java方法实现简易ATM功能

    java方法实现简易ATM功能

    这篇文章主要为大家详细介绍了用java方法实现简易ATM功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Java中String字符串转具体对象的几种常用方式

    Java中String字符串转具体对象的几种常用方式

    String对象可以用来存储任何字符串类型的数据,包括HTML、XML等格式的字符串,下面这篇文章主要给大家介绍了关于JavaString字符串转具体对象的几种常用方式,需要的朋友可以参考下
    2024-03-03
  • 详解Spring Security怎么从数据库加载我们的用户

    详解Spring Security怎么从数据库加载我们的用户

    这篇文章主要为大家介绍了Spring Security怎么从数据库加载我们的用户示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Java8 HashMap的实现原理分析

    Java8 HashMap的实现原理分析

    Java8之后新增挺多新东西,接下来通过本文给大家介绍Java8 HashMap的实现原理分析,对java8 hashmap实现原理相关知识感兴趣的朋友一起学习吧
    2016-03-03
  • 详解如何在Java8中创建和使用线程池

    详解如何在Java8中创建和使用线程池

    在 Java 8 中,线程池(Thread Pool)是一种管理线程资源的机制,能够有效地控制并发执行的线程数量,减少线程创建和销毁的开销,提高系统的性能,本篇文章将详细介绍如何在 Java 8 中创建和使用线程池,需要的朋友可以参考下
    2024-06-06
  • spring导入framework报红问题

    spring导入framework报红问题

    这篇文章主要介绍了spring导入framework报红问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java swing实现应用程序对数据库的访问问题

    Java swing实现应用程序对数据库的访问问题

    这篇文章主要介绍了Java swing实现应用程序对数据库的访问,本次实验需要做一个GUI界面和一个连接查询功能,在论坛上借鉴了其他大佬获取网站内容的部分代码,然后自己做了一个及其简陋的swing界面,算是把这个实验完成了,需要的朋友可以参考下
    2022-09-09
  • java实现的DES加密算法详解

    java实现的DES加密算法详解

    这篇文章主要介绍了java实现的DES加密算法,结合实例形式详细分析了java实现DES加密操作的原理、实现技巧与相关注意事项,需要的朋友可以参考下
    2017-06-06

最新评论