Nacos server启动报错

Nacos server启动报错:Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!

Nacos server下载地址
服务器系统为 Ubuntu Server 20.04 LTS 64bit
使用

startup.sh -d standalone

启动后,报错:Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!
该报错原因是startup.sh脚本里定义的命令未找到JAVA_HOME,解决方式如下:

1.确认机器环境java是否可用:

java -version
# 正常情况下会输出
ubuntu@VM-4-9-ubuntu:/$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

2.确定机器环境是否存在JAVA_HOME全局变量

echo ${JAVA_HOME}
# 正常情况下会输出
root@VM-4-9-ubuntu:/usr/bin# echo ${JAVA_HOME}
/usr/lib/jvm/java-8-openjdk-amd64

3.如果没有JAVA_HOME,则开始配置

3.1先找到java的安装目录:

ubuntu@VM-4-9-ubuntu:/$ cd /usr/bin

ubuntu@VM-4-9-ubuntu:/usr/bin$ ls -l java

lrwxrwxrwx 1 root root 22 Feb 14 11:50 java -> /etc/alternatives/java

ubuntu@VM-4-9-ubuntu:/usr/bin$ ls -l /etc/alternatives/java

	lrwxrwxrwx 1 root root 46 Feb 14 11:50 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-			amd64/jre/bin/java

得到的 /usr/lib/jvm/java-8-openjdk-amd64 即为java的根目录,接下来我们开始配置/etc/profile

sudo vim /etc/profile

在文件末尾,我们加入

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

完成后保存退出,执行

source /etc/profile

再执行

echo ${JAVA_HOME}

如果还没有输出内容,可能是source命令未生效,可以强制执行

sudo reboot

重启机器(不推荐,只是提供一种方法)
完成以上步骤后,进入nacos的bin文件夹,执行

./startup.sh -m standalone
# 千万不要使用 sh startup.sh -m standalone,之前手贱写错成这个,导致-m standalone命令未生效,以集群方式启动了,服务器直接卡死

就可以正常启动,如果还是不行,可以修改startup.sh文件

...
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
...
# 手动将AVA_HOME=$HOME/jdk/java的$HOME/jdk/java改成自己的java安装路径
# Linux 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×