Nacos安装和配置
1.安装
(1) 下载
将下载好的nacos-server,解压到相应的地方。
(2) 修改startup.sh 文件中的 java 路径
(3) 执行开启命令
1 | ## 进入nacos的bin目录,开启nacos |
打开/usr/local/nacos/logs/start.out,查看相关日志。
1.Nacos在Linux系统(CentOS7)上的部署与设置开机启动
2.alibaba/nacos
3.spring cloud config将配置存储在数据库中
3.linux安装nacos单机版
问题
我使用的是openjdk13.0.2版本,总是出现问题。
(1) cannot create /usr/local/nacos/logs/start.out: Directory nonexistent
将下载的nacos复制到/usr/local/nacos中,执行./startup.sh脚本,出现了下面这些问题。
解决方式:使用sudo权限运行
(2) ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!
使用sudo命令运行后,还是出现了错误。“readlink: 缺少操作数”,“dirname: 缺少操作数”
打开nacos/bin下的startup.sh
1 | [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java |
在下面的代码下添加:[ ! -e “$JAVA_HOME/bin/java” ] && JAVA_HOME=/usr/local/jdk13.0.2
JAVA_HOME后面是你的jdk所在路径。
1.Nacos部署中的一些常见问题汇总
2.nacos安装部署遇到的坑
3.Please set the JAVA_HOME variable in your environment, We need java(x64)!
(2020年02月07日 更新)
配置了上面的内容之后,前几天还好好的,今天不知道怎么回事,又出现了同样的问题,只能想其他办法了。
Ubuntn中有一个update-alternatives工具,可以设置默认的应用程序。
既然没有JAVA_HOME这个变量,那就干脆直接定义一个好了,在startup.sh中添加export JAVA_HOME=你的java地址
搞定!!!
1.ubuntu利用update-alternatives配置java
2.Launcher can’t find Java 8 when installer runs
3.Installing the JDK Software and Setting JAVA_HOME
(3) Could not find or load main class
出现这个问题的版本是2.0.3,在github上也有人进行了讨论,在我使用的时候,也就是2021年11月12号,应该是已经修复了,但是还没有发布新的版本。
【解决方案】
1 | ## 原先的startup.sh的最后三行 |
修改后就可以正常启动了。
1.Linux下使用JDK11部署Nacos启动报错:Could not find or load main class
2. 使用startup.sh启动nacos时,如果JAVA_OPT_EXT_FIX变量值为空,将不能正常启动 #6609
3.nacos-server-2.0.3版本startup.sh 启动脚本有问题,要用nacos-server-2.0.2版本startup.sh 这里有讨论具体的内容
4.[nacos-server-2.0.3]startup.sh脚本有误,java11,mac m1。已修改,修改后的兼容Java9以下 这里给了解决方案
2.开机启动
在linux上开机启动,使用了开机启动脚本,总是出现:Job for nacos.service failed because the control process exited with error code.
解决方式就是修改start.sh文件中的java路径
(1) 编写 vi /lib/systemd/system/nacos.service 文件,内容如下:
1 | [Unit] |
如果出现了错误:[/usr/lib/systemd/system/nacos.service:9] Executable path is not absolute, ignoring: bash /usr/local/nacos/bin/shutdown.sh
那么就把bash换成/bin/bash
(2) 修改 /usr/local/nacos/bin/startup.sh 中的JAVA_HOME=/usr/local/java/jdk-13.0.2,为本机java安装目录
(3) 执行服务加载和设置开机启动
1 | #先进行文件生效配置 |
1.Nacos快速入门(1):启动Nacos Server
2.centos8安装nacos并配置开机启动 (这篇文章讲了如何配置开机启动,以及解决java home目录的问题)
3.17.2 通过 systemctl 管理服务
3.日志处理
在服务器上运行nacos,如果不处理的话,光日志文件,一个星期就有5G多,很快就会把磁盘空间占满了。
(1) 解决方法就是:在配置文件nacos\conf\nacos-logback.xml,根据需求,注释你不要的打印日志。
(2) 即便注释掉了不需要打印的日志,但是还是会有{nacos.home}/logs/access_log.yyyy-mm-dd.log,这样的日志文件产生。根据相关的解释,nacos.home是nacos的安装目录,但是实际上我暂时没有找到那里设置了nacos.home,默认的会将access_log日志输出到系统的根目录/logs中。
{asset_img log_1.png log日志 }
查看启动日志start.out,显示已经成功配置了-Dnacos.home属性,但是似乎不起作用。
{asset_img log_2.png log日志 }
【解决方法】
主要解决方法就是编写{nacos.home}/conf/application.properties,修改:server.tomcat.basedir=/usr/local/nacos/logs,然后重启nacos。
{asset_img log_4.png log日志 }
这样,access日志就会出现在了 /usr/local/nacos/logs/logs/ 中。
(3) 除了会生成一个logs文件夹之外,还会生成一个work的目录
{asset_img log_3.png log日志 }
1.log of nacos optimization
2.日志打印频繁的问题
3.Nacos 系统参数介绍 (这里说是在{nacos.home}/bin/startup.sh中编写JAVA_OPT=”${JAVA_OPT} -Dnacos.home=${BASE_DIR}”,设置nacos.home,但是我编写后没有效果,依然还是将access日志保存到了系统的/logs目录下)
4.定时清理脚本
(1) 定时脚本可以参考下面的脚本
1 |
|
(2) 编写crontab任务,每日凌晨执行清理工作
1 | ## 赋予脚本执行权限 |
【1】.nacos,启动一周后,打印日志超多,5G
【2】.nacos access log日志占用磁盘 (这里使用的是定时任务的方式处理access log日志)
【3】.linux 让 crontab 每天03点00 访问一次指定的url
5.配置数据库
打开Nacos配置文件conf/application.properties,进行以下配置更改
1 | spring.datasource.platform=mysql |
【1】.nacos配置mysql数据库
问题
1.Public Key Retrieval is not allowed
链接数据库的时候,出现了这个问题。
【尝试解决】
尝试在连接参数中增加 allowPublicKeyRetrieval=true 参数,编辑 vi conf/application.properties ,找到数据库连接语句,然后进行修改。