专业的编程技术博客社区

网站首页 > 博客文章 正文

CentOS7.x下Nacos1.3.0安装手册(centos7.6安装全步骤全说明)

baijin 2024-10-01 07:15:55 博客文章 10 ℃ 0 评论

1、Nacos1.3.0版本在2020年6月5日发布了,计划在192.168.31.240下的/usr/local/目录下安装nacos,安装Nacos1.3.0时,从https://github.com/alibaba/nacos官网下载后,在CentOS7 下安装,会有创建MySQL数据库连接错误的信息(在/usr/local/nacos/logs/start.out中查看)。这时由于我用的是MySQL8.0数据库,而Nacos1.3.0还是用的MySQL5.1.6的驱动,所以就出现了不能创建连接的错误。

2、解决:从https://github.com/alibaba/nacos官网下载源码后,需要修改代码,自己打包成nacos-server-1.3.0.tar.gz,再安装就好用了。步骤如下:

2.1、修改nacos项目根目录下的pom.xml,手动修改为MySQL驱动版本8.0.20

<!-- pom.xml -->

<servlet-api.version>3.0</servlet-api.version>

<!--替换为 -->

<servlet-api.version>3.0.1</servlet-api.version>

<mysql-connector-java.version>5.1.34</mysql-connector-java.version>

<!--替换为 -->

<mysql-connector-java.version>8.0.20</mysql-connector-java.version>

<maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>

<!--替换为 -->

<maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>servlet-api</artifactId>

<version>${servlet-api.version}</version>

<scope>provided</scope>

</dependency>

<!--替换为 -->

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>javax.servlet-api</artifactId>

<version>${servlet-api.version}</version>

<scope>provided</scope>

</dependency>

注意:最好用上面的方式修改,如果不修改上面的地方,那就要修改另两个地方,分别是nacos-naming和nacos-config两个模块的pom.xml文件,因为在这两个项目中也引用了MySQL数据库驱动.

2.2、修改nacos-naming模块下的com.alibaba.nacos.naming.hanlthcheck.MysqlHealthCheckProcessor文件,将报错的语句

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource

修改为:

import com.mysql.cj.jdbc.MysqlDataSource;

2.3、在nacos项目代码的根目录的pom.xml中,最好把<!-- 子模块管理 --><modules>中的test模块屏蔽掉,要不可能会造成打包失败。

<!-- <module>test</module>-->

2.4、在DOS下项目根目录下,重新打包运行maven命令

mvn -Prelease-nacos -DskipTests clean install -U

2.5、出现如下图所示,就说明成功,在distribution模块下的target目录中生成了nacos-server-1.3.0.tar.gz文件,把此文件拷贝到CentOS7下,解压缩即可。

2.6、nacos和Eurek不同,nacos运行需要数据库的支持,所以在解压的目录conf下的application.properties文件中,需要修改数据库连接信息:

#*************** Config Module Related Configurations ***************#

### If user MySQL as datasource:

spring.datasource.platform=mysql

### Count of DB:

db.num=1

### Connect URL of DB:

db.url.0=jdbc:mysql://192.168.31.240:3307/nacos?characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

db.user=root

db.password=123456

2.7、并且在240机器的数据库,要执行/usr/local/nacos/conf下的nacos-mysql.sql脚本文件。

2.8、记得关闭CentOS7.x下的防火墙:

systemctl stop firewalld

2.9、启动nacos,可以在/usr/local/nacos/bin下使用如下命令:

sh startup.sh -m standalone

2.10、nacos开启的是8848端口,所以可以在浏览器中http://192.168.31.240:8848/nacos就可以打开登录页面,用户名和pwd都是nacos




3、附录:如果在打包过程中,出现如下错误:

Failed to execute goal org.apache.maven.plugins:maven-pmd-plugin:3.8:check (default) on project nacos-naming: You have 1 PMD violation. For more details see: D:\new_micro_service\nacos-1.3.0\naming\target\pmd.xml

解决:可以打开D:\new_micro_service\nacos-1.3.0\naming\target\pmd.xml,信息如下:

<?xml version="1.0" encoding="UTF-8"?>

<pmd version="5.6.1" timestamp="2020-06-07T10:55:50.945">

<file name="D:\new_micro_service\nacos-1.3.0\naming\src\main\java\com\alibaba\nacos\naming\healthcheck\MysqlHealthCheckProcessor.java">

<violation beginline="24" endline="24" begincolumn="1" endcolumn="41" rule="RemoveCommentedCodeRule" ruleset="AlibabaJavaComments" package="com.alibaba.nacos.naming.healthcheck" class="MysqlHealthCheckProcessor" priority="3">

及时清理不再使用的代码段或配置信息。

</violation>

</file>

</pmd>


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表