nacos启动报错

在linux中启动nacos报错:

后查询资料,发现nacos默认是以集群方式启动的,所以需要把启动文件中的 cluster修改为standalone;

  1 #!/bin/sh
  2 
  3 # Copyright 1999-2018 Alibaba Group Holding Ltd.
  4 # Licensed under the Apache License, Version 2.0 (the "License");
  5 # you may not use this file except in compliance with the License.
  6 # You may obtain a copy of the License at
  7 
  8 #      http://www.apache.org/licenses/LICENSE-2.0
  9 #
 10 # Unless required by applicable law or agreed to in writing, software
 11 # distributed under the License is distributed on an "AS IS" BASIS,
 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13 # See the License for the specific language governing permissions and
 14 # limitations under the License.
 15 
 16 cygwin=false
 17 darwin=false
 18 os400=false
 19 case "`uname`" in
 20 CYGWIN*) cygwin=true;;
 21 Darwin*) darwin=true;;
 22 OS400*) os400=true;;
 23 esac
 24 error_exit ()
 25 {
 26     echo "ERROR: $1 !!"
 27     exit 1
 28 }
 29 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
 30 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
 31 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
 32 [ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
 33 
 34 if [ -z "$JAVA_HOME" ]; then
 35   if $darwin; then
 36 
 37     if [ -x '/usr/libexec/java_home' ] ; then
 38       export JAVA_HOME=`/usr/libexec/java_home`
 39 
 40     elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
 41       export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
 42     fi
 43   else
 44     JAVA_PATH=`dirname $(readlink -f $(which javac))`
 45     if [ "x$JAVA_PATH" != "x" ]; then
 46       export JAVA_HOME=`dirname $JAVA_PATH 2>/dev/null`
 47     fi
 48   fi
 49   if [ -z "$JAVA_HOME" ]; then
 50         error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!"
 51   fi
 52 fi
 53 
 54 #注,此处设置了默认值是以及群模式启动,所以我就把此处改成了standalone,集群为cluster
 55 export SERVER="nacos-server"
 56 export MODE="standalone"
 57 export FUNCTION_MODE="all"
 58 while getopts ":m:f:s:" opt
 59 do
 60     case $opt in
 61         m)
 62             MODE=$OPTARG;;
 63         f)
 64             FUNCTION_MODE=$OPTARG;;
 65         s)
 66             SERVER=$OPTARG;;
 67         ?)
 68         echo "Unknown parameter"
 69         exit 1;;
 70     esac
 71 done
 72 
 73 export JAVA_HOME
 74 export JAVA="$JAVA_HOME/bin/java"
 75 export BASE_DIR=`cd $(dirname $0)/..; pwd`
 76 export DEFAULT_SEARCH_LOCATIONS="classpath:/,classpath:/config/,file:./,file:./config/"
 77 export CUSTOM_SEARCH_LOCATIONS=${DEFAULT_SEARCH_LOCATIONS},file:${BASE_DIR}/conf/
 78 
 79 #===========================================================================================
 80 # JVM Configuration
 81 #===========================================================================================
 82 if [[ "${MODE}" == "standalone" ]]; then
 83     JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
 84     JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
 85 else
 86     JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
 87     JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
 88     JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
 89 
 90 fi
 91 
 92 if [[ "${FUNCTION_MODE}" == "config" ]]; then
 93     JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=config"
 94 elif [[ "${FUNCTION_MODE}" == "naming" ]]; then
 95     JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=naming"
 96 fi
 97 
 98 
 99 JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/1/p')
100 if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then
101   JAVA_OPT="${JAVA_OPT} -cp .:${BASE_DIR}/plugins/cmdb/*.jar:${BASE_DIR}/plugins/mysql/*.jar"
102   JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${BASE_DIR}/logs/nacos_gc.log:time,tags:filecount=10,filesize=102400"
103 else
104   JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${BASE_DIR}/plugins/cmdb:${BASE_DIR}/plugins/mysql"
105   JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
106 fi
107 
108 JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}"
109 JAVA_OPT="${JAVA_OPT} -Dloader.path=${BASE_DIR}/plugins/health -jar ${BASE_DIR}/target/${SERVER}.jar"
110 JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
111 JAVA_OPT="${JAVA_OPT} --spring.config.location=${CUSTOM_SEARCH_LOCATIONS}"
112 JAVA_OPT="${JAVA_OPT} --logging.config=${BASE_DIR}/conf/nacos-logback.xml"
113 JAVA_OPT="${JAVA_OPT} --server.max-http-header-size=524288"
114 
115 if [ ! -d "${BASE_DIR}/logs" ]; then
116   mkdir ${BASE_DIR}/logs
117 fi
118 
119 echo "$JAVA ${JAVA_OPT}"
120 
121 if [[ "${MODE}" == "standalone" ]]; then
122     echo "nacos is starting with standalone"
123 else
124     echo "nacos is starting with cluster"
125 fi
126 
127 # check the start.out log output file
128 if [ ! -f "${BASE_DIR}/logs/start.out" ]; then
129   touch "${BASE_DIR}/logs/start.out"
130 fi
131 # start
132 echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
133 nohup $JAVA ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
134 echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"

启动命令为:

bash startup.sh -m standalone

官方提供的启动命令为

sh startup.sh -m standalone

至于启动命令的bash和sh的区别,待了解




原文地址:https://www.cnblogs.com/cjll/p/13729046.html