出现这个问题可能有以下及几种原因,请按照提示的错误信息进行解决。

可能原因一及解决方案

错误信息

You can see more details in logs/config-center.log

可能原因

为减少轻量级配置中心的标准输出日志,在startup.sh轻量级配置中心的启动脚本里关闭了输出,如下所示:

nohup $JAVA -Daddress.server.ip=$SERVER_IP -Dderby.system.home=../ -jar -Dderby.stream.error.file=logs/derby.log ../lib/edas-config-center.jar --logging.config=../conf/logback.xml >/dev/null 2>&1 &
说明 startup.bat不存在此问题。

解决方案

确保已安装并正在使用JDK 1.8或以上版本。

  1. 需要临时去掉>/dev/null
    #nohup $JAVA -Daddress.server.ip=$SERVER_IP -Dderby.system.home=../ -jar -Dderby.stream.error.file=logs/derby.log ../lib/edas-config-center.jar --logging.config=../conf/logback.xml >/dev/null 2>&1 &

    即将如上代码改成如下:

    #nohup $JAVA -Daddress.server.ip=$SERVER_IP -Dderby.system.home=../ -jar -Dderby.stream.error.file=logs/derby.log ../lib/edas-config-center.jar --logging.config=../conf/logback.xml  2>&1 &           
  2. 再次执行./startup.sh启动。

    即可在当前目录下有一个nohup.out文件,查看该文件,日志输出如下:

    Exception in thread "main" java.lang.UnsupportedClassVersionError: com/alibaba/configcenter/ConfigCenterMain : Unsupported major.minor version 52.0

可能原因二及解决方案

错误信息

Unable to start embedded Tomcat servlet container
Tomcat connector in failed state

解决方案

检查8080端口是否被占用,如果端口已经被其他程序占用,请先停止该占用端口的程序,再执行启动脚本。


  • Windows系统
    1. 进入cmd,执行netstat -aon|findstr "8080",记录查询到数据的最后一列数字,即PID (Process ID),例如2720
    2. 执行tasklist|findstr "2720",会显示当前PID对应的程序,例如javaw.exe。
    3. 执行taskkill /PID 2720 /T /F
    4. 再次启动轻量配置中心。
  • Linux系统
    1. 执行netstat -antp|grep 8080,会显示占用8080端口的进程号及程序,例如2720
    2. 执行kill -9 2720
    3. 再次启动轻量配置中心。

可能原因三及解决方案

错误信息

Caused by: java.net.UnknownHostException:iZ25ax7xuf5Z

解决方案

iZ25ax7xuf5Z是当前实例名,确定/etc/hosts存在本机IP及当前实例名的配置。如果没有请添加,例如:192.168.1.10 iZ25ax7xuf5Z。