【开发日记】Nacos安装踩坑日记

2022-08-30 20:12:19 浏览数 (1)

环境说明

系统环境:远程服务器 Ubuntu Linux

Nacos版本:2.1.0

下载Nacos

官方地址:https://github.com/alibaba/nacos/releases

本文使用的是Nacos2.1.0。

安装

将下载好的压缩包上传至服务器。

1、解压命令

tar -xvf nacos-server-2.1.0.tar.gz

2、配置数据库

① 在解压后的nacos/conf目录下有一个nacos-mysql.sql文件,将其按文件中的指示创建数据库名nacos_config,并执行该sql文件将表导入至该数据库中。

② 修改nacos/conf目录下的application.properties文件,将刚刚导入的数据库配置到文件中,原来的该部分内容被注释掉了,去掉注释并修改数据库地址和账户即可:

启动

在目录nacos/bin下执行./startup.sh启动Nacos。

踩坑来了

1、默认启动模式为集群启动

问题:Nacos默认配置的启动模式为集群启动,所以直接启动会报错。

解决:可以通过两种方式使启动模式改为单机启动。

① 输入启动命令时加入如下参数,使启动模式改为单机启动: ./startup.sh -m standalone

② 修改startup.sh启动文件,使默认启动为单机启动。将MODE修改为如下: export MODE="standalone"

2、JDK版本不兼容

问题:使用JDK11启动时报错类找不到。

解决:Nacos官方使用的是JDK8,对其他版本可能不兼容,所以需要更换为JDK8。

如果服务器因为其他原因无法将全局环境变量设置为JDK8,也可以单独为Nacos配置启动所用的JDK。编辑nacos/conf下的startup.sh文件,找到JAVA_HOME配置项,并修改为如下类似路径,需要配置JDK的根路径,当我们启动Nacos时就会使用该JDK进行启动。 export JAVA_HOME="/usr/jdk8"

JAVA_HOME默认配置为空,即使用全局JDK环境。

3、Nacos占用内存过大

问题:启动Nacos后占用过大内存问题。

说明:默认情况下Nacos会向系统申请512MB的内存空间,但在开发环境下该配置并不合理。该占用内存并不是真的跑满了,而是为Nacos初始分配的内存。

解决:该分配内存可进行JVM调参进行优化,编辑nacos/conf下的startup.sh文件,将该文件中的内容修改为如下:

代码语言:javascript复制
#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms128m -Xmx128m -Xmn128m"
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"

4、项目无法连接远程

问题:开启8848端口后,客户端连接失败,出现Request nacos server failed错误信息。

解决:Nacos2.x版本新增了gRPC的通信方式,因此需要新增占用两个端口,并且这两个端口必须开放,否则就连接不上Nacos服务。

详见官方说明:https://nacos.io/zh-cn/docs/2.0.0-compatibility.html

新增如下接口:

0 人点赞