精华内容
下载资源
问答
  • 启动nacos报错

    千次阅读 2020-07-14 15:45:57
    启动nacos服务,出现如下异常: 2020-07-14 15:21:16.167 ERROR 5748 --- [ main] c.l.StartingSpringApplicationRunListener : read cluster conf fail java.io.FileNotFoundException: C:\Users\Administrator\...

    启动nacos服务,出现如下异常:

    2020-07-14 15:21:16.167 ERROR 5748 --- [           main] c.l.StartingSpringApplicationRunListener : read cluster conf fail
    
    java.io.FileNotFoundException: C:\Users\Administrator\nacos\conf\cluster.conf (系统找不到指定的路径。)
    	at java.io.FileInputStream.open0(Native Method)
    	at java.io.FileInputStream.open(FileInputStream.java:195)
    	at java.io.FileInputStream.<init>(FileInputStream.java:138)
    	at com.alibaba.nacos.core.utils.SystemUtils.readClusterConf(SystemUtils.java:124)
    	at com.alibaba.nacos.core.listener.StartingSpringApplicationRunListener.logClusterConf(StartingSpringApplicationRunListener.java:142)
    	at com.alibaba.nacos.core.listener.StartingSpringApplicationRunListener.contextPrepared(StartingSpringApplicationRunListener.java:92)
    	at org.springframework.boot.SpringApplicationRunListeners.contextPrepared(SpringApplicationRunListeners.java:60)
    	at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:374)
    	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
    	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
    	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
    	at com.alibaba.nacos.Nacos.main(Nacos.java:35)
    
    2020-07-14 15:21:17.173  INFO 5748 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    

    根据异常日志打断点
    在这里插入图片描述
    debug
    在这里插入图片描述
    可见STANDALONE_MODE返回false,也就是非单机模式。但是目前是想以单机模式启动的。
    查看相关配置

    /**
       * Standalone mode or not
       */
      public static final boolean STANDALONE_MODE = Boolean.getBoolean(STANDALONE_MODE_PROPERTY_NAME);
    
    /**
     * The System property name of  Standalone mode
     */
    String STANDALONE_MODE_PROPERTY_NAME = "nacos.standalone";
    

    按道理来说,如果不配置则默认应该为false.

    public static boolean getBoolean(String name) {
        boolean result = false;
        try {
            result = parseBoolean(System.getProperty(name));
        } catch (IllegalArgumentException | NullPointerException e) {
        }
        return result;
    }
    

    这个读取的是系统属性,在Spring的application.properties中配置是没有效果的。
    在这里插入图片描述
    在VM options中添加如下内容

    -Dnacos.standalone=true
    

    再次debug
    在这里插入图片描述
    单机模式启动成功
    在这里插入图片描述
    如果要以集群模式启动,需要怎么办呢?

    1. 在项目中查找cluster.conf文件,会发现在nacos-distribution模块中存在一个cluster.conf.example文件
    2. 将该文件拷贝到C:\Users\Administrator\nacos\conf\目录下,并复制一份为cluster.conf
    3. 修改cluster.conf中的ip为需要加入集群的主机的ip,然后启动服务

    在这里插入图片描述
    执行结果如下

    2020-07-14 15:51:25.415  INFO 10888 --- [           main] c.l.StartingSpringApplicationRunListener : The server IP list of Nacos is [192.168.6.71]
    2020-07-14 15:51:26.422  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:27.434  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:28.436  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:29.441  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:30.443  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:31.444  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:32.446  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:33.447  INFO 10888 --- [ nacos-starting] c.l.StartingSpringApplicationRunListener : Nacos is starting...
    2020-07-14 15:51:34.034  INFO 10888 --- [           main] c.l.StartingSpringApplicationRunListener : Nacos logs files: C:\Users\Administrator\nacos\logs\
    2020-07-14 15:51:34.034  INFO 10888 --- [           main] c.l.StartingSpringApplicationRunListener : Nacos conf files: C:\Users\Administrator\nacos\conf\
    2020-07-14 15:51:34.034  INFO 10888 --- [           main] c.l.StartingSpringApplicationRunListener : Nacos data files: C:\Users\Administrator\nacos\data\
    2020-07-14 15:51:34.035  INFO 10888 --- [           main] c.l.StartingSpringApplicationRunListener : Nacos started successfully in cluster mode.
    

    从日志也不难看出,nacos就是通过读取这个文件来获取The server IP list of Nacos的。

    如果不希望将配置文件存放在以上目录,也可以通过修改配置来实现。查看源码:
    com.alibaba.nacos.core.listener.StartingSpringApplicationRunListener

    private void logClusterConf() {
        if (!STANDALONE_MODE) {
            try {
                List<String> clusterConf = readClusterConf();
                LOGGER.info("The server IP list of Nacos is {}", clusterConf);
            } catch (IOException e) {
                LOGGER.error("read cluster conf fail", e);
            }
        }
    }
    

    主要的实现在readClusterConf方法中。

    public static List<String> readClusterConf() throws IOException {
        List<String> instanceList = new ArrayList<String>();
        // 通过try-resource打开文件
        try(Reader reader = new InputStreamReader(new FileInputStream(new File(CLUSTER_CONF_FILE_PATH)),
        StandardCharsets.UTF_8)) {
            List<String> lines = IoUtils.readLines(reader);
            String comment = "#";
            for (String line : lines) {
                String instance = line.trim();
                if (instance.startsWith(comment)) {
                    // # it is ip
                    continue;
                }
                if (instance.contains(comment)) {
                    // 192.168.71.52:8848 # Instance A
                    instance = instance.substring(0, instance.indexOf(comment));
                    instance = instance.trim();
                }
                int multiIndex = instance.indexOf(Constants.COMMA_DIVISION);
                if (multiIndex > 0) {
                    // support the format: ip1:port,ip2:port  # multi inline
                    instanceList.addAll(Arrays.asList(instance.split(Constants.COMMA_DIVISION)));
                } else {
                    //support the format: 192.168.71.52:8848
                    instanceList.add(instance);
                }
            }
            return instanceList;
        }
    }
    

    以上代码说明:

    1. 读取文件的路径在常量CLUSTER_CONF_FILE_PATH中定义的
    2. 读取文件时是按行来读取的,以#开头的是注释不会读取,如果不是#开头但是包含#的截取#前面的字符作为ip,可以一行配置多个ip,重点以,(常量COMMA_DIVISION定义)分割即可。遍历每一行,最后将所有的值都加入到list中,作为instanceList。支持格式:192.168.71.52:8848和192.168.71.52(默认端口8848)。

    继续查看常量CLUSTER_CONF_FILE_PATH定义

    /**
     * The file path of cluster conf.
     */
    public static final String CLUSTER_CONF_FILE_PATH = getClusterConfFilePath();
    
    private static String getClusterConfFilePath() {
        return NACOS_HOME + File.separator + "conf" + File.separator + "cluster.conf";
    }
    
    /**
     * The home of nacos.
     */
    public static final String NACOS_HOME = getNacosHome();
    
    private static String getNacosHome() {
        String nacosHome = System.getProperty(NACOS_HOME_KEY);
        if (StringUtils.isBlank(nacosHome)) {
            nacosHome = System.getProperty("user.home") + File.separator + "nacos";
        }
        return nacosHome;
    }
    
    /**
     * The key of nacos home.
     */
    public static final String NACOS_HOME_KEY = "nacos.home";
    

    不难看出,如果想修改配置文件的路径,有两种方式:

    1. 配置系统参数nacos.home
    2. 配置系统参数user.home,以前者优先
    展开全文
  • Ubuntu下启动Nacos报错

    2021-04-22 14:28:43
    Ubuntu下启动Nacos报错 问题描述 使用命令sh startup.sh -m standalone启动报错: ./startup.sh: 78: ./startup.sh: [[: not found ./startup.sh: 88: ./startup.sh: [[: not found ./startup.sh: 90: ./startup.sh:...

    Ubuntu下启动Nacos报错

    问题描述

    使用命令sh startup.sh -m standalone启动报错:

    ./startup.sh: 78: ./startup.sh: [[: not found

    ./startup.sh: 88: ./startup.sh: [[: not found

    ./startup.sh: 90: ./startup.sh: [[: not found

    ./startup.sh: 96: ./startup.sh: [[: not found

    /usr/lib/jvm/java-8-openjdk-amd64/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/soft/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext:/usr/lib/jvm/java-8-openjdk-amd64/lib/ext:/data/soft/nacos/plugins/cmdb:/data/soft/nacos/plugins/mysql -Xloggc:/data/soft/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dnacos.home=/data/soft/nacos -jar /data/soft/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/data/soft/nacos/conf/ --logging.config=/data/soft/nacos/conf/nacos-logback.xml

    ./startup.sh: 116: ./startup.sh: [[: not found

    nacos is starting,you can check the /data/nacos/logs/start.out

    改启动方式:
    bin文件夹下【单机版】:
    sh startup.sh -m standalone
    或者
    bash -f ./startup.sh -m standalone
    这两个一个不行换另一个 总有一种方式可以

    展开全文
  • 1.遇到的问题 win10双击启动nacos报错 2. 分析 从启动cmd开始查看 发现 启动模式为集群模式 定位成功 3.解决 修改startup中启动模式 重新启动 成功

    1.遇到的问题

    win10双击启动nacos报错

    2. 分析

    从启动cmd开始查看 发现 启动模式为集群模式 定位成功

    3.解决

    修改startup中启动模式

    重新启动 成功

     

     

    展开全文
  • 下载好了nacos,使用 ./startup.sh -m standalone 命令启动 <p><img alt="" height="556" src=...
  • 文章目录linux下启动nacos报错报错原因解决办法 linux下启动nacos报错 报错信息:which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)… 报错原因 没有配置java环境变量 解决办法 ...

    linux下启动nacos报错

    报错信息:which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)…

    报错原因

    没有配置java环境变量

    解决办法

    寻找jdk的安装目录
    找寻jdk
    增加环境变量
    编辑文件

    在profile最后添加如下 source /etc/profile更新文件
    在这里插入图片描述重新启动Nacos,成功启动
    成功

    展开全文
  • 启动Nacos报错解决 nacos is starting,you can check the /Volumes/MXY/work/devtool/nacos/logs/start.out 经过我去看这个目录下的文件 nohup: /Users/xx/jdk/java/bin/java: No such file or directory 查找原因...
  • nacos-server 启动时的命令 sh startup.sh -m standalone 不加后面的,报错 /www/springcloud/nacos/conf application.properties 还要在配置文件加:nacos.inetutils.ip-address=49.233.17.92 Linux/Unix/Mac 启动...
  • linux启动nacos报错,错误信息如下 which: no javac in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) readlink: 缺少操作数 Try 'readlink --help' for more information....
  • 报错信息: which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) readlink: missing operand Try 'readlink --help' for more information. dirname: missing operand Try '...
  • 报错信息: which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) readlink: missing operand Try 'readlink --help' for more information. dirname: missing operand Try '...
  • 删掉nacos文件夹下的data文件夹,重新启动nacos。再重启springboot项目就OK了。 原 因: IP变了和nacos缓存导致,我昨天本机的IP是227,今天IP变成了228,看到data文件夹这个文件中IP显示还是昨天的227。删除data...
  • 连接Nacos报错

    2020-05-17 11:35:32
    最近下载两个开源项目:Spring Blade和zuihou-admin-cloud,然后按照文档中导入工程的操作步骤配置好相关工程所需环境,比如下载了nacos服务,并开启了,但是启动工程的时候总是报连接naco报错,获取nacos上部署的上...
  • SpringCloud连接远程nacos报错,一直提示连接本地的localhost:8848 解决方案 在resources目录下创建bootstrap.properties(或bootstrap.yml),再次启动即可 spring.application.name=renren-fast spring.cloud....
  • nacos启动报错

    2020-12-17 10:17:57
    win10 ,本地启动nacos报错: 1.用命令startup.cmd,刚开始报错:db num=null,io exception。 于是去改了配置文件(nacos目录中conf/application.properties),将db num=1注释放开,并配置了数据库信息,且执行了...
  • 在单机模式下启动Nacos 时碰到了一个问题,一直报错cannot get serverlist, so exit,导致服务无法启动。 配置 配置了连接mysql数据库,使用es。 解决办法 linux里启动默认是集群启动,所以单机启动时必须加 -m ...
  • 问题: macOS Big Sur启动nacos,正常启动,但是不能访问localhost:8848/nacos. 可以看到与正常启动无异.通过查看log文件可以看到 注: 图片引用半路笙歌 修改步骤: 打开bash_profile文件 sudo vim ~/.bash_profile ...
  • 错误现象: 服务启动后控制台报错,服务链接不上nacos 报错中有 server is DOWN now, please try again later!字眼 关键报错信息 ...
  • 这次搭建一个简单的springboot的项目配置文件不打算放在nacos上了,直接使用application.yaml,第一次启动时结果项目直接报错停止 2020-02-04 09:33:47.954 ERROR 3540 --- [ main] o.s.c.a.nacos....
  • 在网上找了很久才看到有一个说法是: 没有启动Nacos服务 我才意识到问题所在: 因为几个月前有大致的了解了一下nacos和sentinel,所以很多都基本忘了...太拙劣了我 解决方法: 启动nacos 再启动项目. ...
  • springcloud整合nacos启动读取配置正常,但是动态更新配置不生效,也没有看到具体的报错信息只有一条ERROR日志 ERROR c.a.n.client.config.impl.CacheData - [fixed-127.0.0.1_8848] [notify-error] dataId=cmp-...
  • Did you forget to include spring-cloud-starter-loadbalancer问题描述项目环境解决方案1、引入eureka依赖——...最近在使用最新版本的nacos和feign的过程中,启动时遇到一个错误: Caused by: java.lang.IllegalStat
  • 启动nacos,查看日志文件nacos.log,报错如下 java.lang.IllegalStateException: unable to find local peer: 172.18.66.12:3333, all peers: [127.0.0.1:5555, 127.0.0.1:3333, 127.0.0.1:4444] at ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 493
精华内容 197
关键字:

启动nacos报错