一、nacos数据库
本文中的nacos将搭配mysql8.0.35使用,mysql的部署请看Linux系统centos7安装、配置、远程连接mysql8.0.35、开机自启动(究级无敌宇宙第一详细)-CSDN博客https://blog.csdn.net/zaixiaqin/article/details/134619062?spm=1001.2014.3001.5501需要在mysql中创建一个名为nacos的数据库和用户,并配置权限。部署安装好MySQL后执行下面操作。
1. 创建nacos用户
创建nacos用户,如果mysql将与nacos部署在两台机器上:
CREATE USER 'nacos'@'%';
ALTER USER 'nacos'@'%' IDENTIFIED BY 'nacos';
GRANT ALL privileges on nacos.* TO 'nacos'@'%';
如果mysql与nacos部署在同一台机器上:
CREATE user 'nacos'@'localhost';
ALTER USER 'nacos'@'localhost' IDENTIFIED BY 'nacos';
GRANT ALL privileges on nacos.* TO 'nacos'@'localhost';
刷新用户权限
FLUSH PRIVILEGES;
查看用户是否创建成功
USE mysql;
SELECT user,host FROM user;
如果结果中包含了nacos用户,则创建成功。
2. 初始化nacos数据库
这里有多种方法,可以直接远程连接数据库,然后通过一些IDE来初始化,这里介绍linux命令行的方式。
将下载的nacos压缩包中 conf 下的 mysql-schema.sql 脚本文件上传到安装了mysql的机器上,记住路径,用完删掉即可。(以 /mysql-schema.sql 为例)
使用root用户登录mysql,创建 nacos 数据库,然后退出登录。
mysql -uroot -p
CREATE DATABASE nacos;
quit;
执行下面命令初始化nacos数据库
## mysql -u<用户名> -p<用户密码> -D<数据库名> > <脚本路径>
mysql -uroot -p111222 -Dnacos > /mysql-schema.sql
然后使用 nacos 用户登录 mysql,查看初始化结果。(其实用哪个账号登都行,只要有nacos库的权限就可以)
mysql -unacos -p
use nacos;
show tables;
如果出现nacos出现下面的表,则初始化成功。
二、下载javaJDK
下载地址:Java Downloads | Oracle 中国https://www.oracle.com/cn/java/technologies/downloads/#java11以java11为例
首先需要登录linux系统,查看系统支持的java版本。
uname -a # 查看结果中是否有包含arrch64
如果查询结果中包含 arrch64,就直接下载下面两个即可,本文以.tar.gz版本的压缩包为例。
否则下载下面两个版本
三、部署JDK环境
1. 检查系统是否安装jdk
yum list installed | grep java # 查看系统中是否已经安装了java
2. 卸载已安装jdk
yum -y remove <第一步命令出现的所有文件> # 删除已安装的jdk
3. 解压缩JDK11
将下载的jdk-11.0.21_linux-x64_bin.tar.gz拷贝到linux系统的 /opt 目录下,执行解压命令
cd /opt
tar -zxvf jdk-11.0.21_linux-x64_bin.tar.gz
4. 添加环境变量
vim /etc/profile
在文件后面追加
export JAVA_HOME=/opt/jdk-11.0.21
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
保存退出后执行
source /etc/profile
查看安装结果
java --version
出现以下结果表示安装成功
5. 生成JRE
java8以后,安装的jdk不再包含jre
进入JDK的安装目录
cd /opt/jdk-11.0.21
执行下面命令生成JRE
bin/jlink --module-path jmods --add-modules java.desktop --output jre
四、下载nacos
下载地址:
Releases · alibaba/nacos (github.com)https://github.com/alibaba/nacos/releases
点击 2.2.3,页面跳转后找到 nacos-server-2.2.3.tar.gz 版本进行下载
五、解压nacos
将下载的nacos压缩包上传到服务器的 /usr/local 下并执行命令解压。
cd /usr/local
tar -zxvf ./nacos-server-2.2.3.tar.gz
解压完成后会直接在目录下生成名称为 nacos 的目录
六、配置nacos
vim /usr/local/nacos/conf/application.properties
按如下配置,
- db.url.0 中的 ip: 如果是mysql与nacos在同一台机器上,就不用更改,使用原来的127.0.0.1。
- db.url.0 中的 connectTimeout、socketTimeout 如果设置时间较短可能在启动nacos时会连接不上数据库而启动失败。
- 数据库用户密码为 1.1 中创建的用户密码,也可以直接使用 root 用户。
七、启动nacos
进入nacos安装目录下
cd /usr/local/nacos/bin
执行启动脚本
sh startup.sh -m standalone # -m standalone 代表单机模式启动
或
nohup sh startup.sh -m standalone &
停止 nacos 服务
cd /usr/local/nacos/bin
sh shutdown.sh
主机浏览器访问 http://虚拟机IP:8848/nacos,看到nacos主页,则启动成功。
八、nacos 集群部署
在第六步配置 nacos 时,还需更改配置文件,在 nacos 的安装目录 nacos/conf 下,还有一个配置文件 cluster.conf.example ,我们复制这个配置文件并改名为 cluster.conf
cd /usr/local/nacos/conf
cp cluster.conf.example cluster.conf
在其中添加其它机器的地址信息,如我以三台机器为例(nacos集群至少需要三个nacos服务)
在三台机器上都添加该配置,添加完成后,再配置 application.properties ,然后启动三台服务
cd /usr/local/bin/
nohup sh ./startup.sh & # nacos 默认的启动方式就是以集群模式启动
启动后访问查看三个nacos服务的集群节点
九、问题排查
启动失败:
- 查看配置文件中 db.url.0 中 connectTimeout、socketTimeout 的时间是否需要增加。
- 设置 db.url.0 中 useSSL=true
- 如果nacos与mysql不在同一台机器上,查看8848端口的防火墙是否开放
firewall-cmd --query-port=8848/tcp # 查看端口状态 yes 为已开放
firewall-cmd --add-port=8848/tcp --permanent # 永久开放端口
systemctl restart firewalld # 重启防火墙
- 如果还不能解决,查看启动日志,cat /usr/local/nacos/logs/start.out ,或查看 nacos 日志cat /usr/local/nacos/logs/nacos.log