nacos-2.3.2单机和集群部署

杨梅冲 / 2024-06-13 / 原文

一、前期准备

github:https://github.com/alibaba/nacos

官网:https://nacos.io/

1.1 数据库部署

# mysql 8.0 下载
官网:https://dev.mysql.com/downloads/mysql/8.0.html

cd /usr/local/
tar xf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz
ln -s mysql-8.0.36-linux-glibc2.17-x86_64 mysql

echo "export PATH=$PATH:/usr/local/mysql8/bin" >>/etc/profile
source /etc/profile

vim /usr/local/mysql/my.cnf
[mysql]
#默认字符集
default-character-set=utf8mb4
socket = /usr/local/mysql/data/mysql.sock
[client]
port       = 3306
socket = /usr/local/mysql/data/mysql.sock
 
[mysqld]
port       = 3306
server-id  = 3306
socket     = /usr/local/mysql/data/mysql.sock
# 安装目录
basedir    = /usr/local/mysql
# 数据存放目录
datadir    = /usr/local/mysql/data
log-bin    = /usr/local/mysql/data/mysql-bin
innodb_data_home_dir      = /usr/local/mysql/data
innodb_log_group_home_dir = /usr/local/mysql/data
#日志及进程数据的存放目录
log-error =/usr/local/mysql/data/mysql-err.log
pid-file  =/usr/local/mysql/data/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB

mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --initialize-insecure

各参数意义
            --defaults-file: 指定配置文件 (放在--initialize-insecure前)
            --user: 指定用户
            --basedir: 指定安装目录
            --datadir: 指定初始化数据目录
            --initialize-insecure: 初始化不设置密码(若无该参数,则随机生成密码,需在 /data/mysql8/logs/mysql.log 查看

# 启动mysql
/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/mysql8/my.cnf &

1.2 jdk下载部署

下载地址:https://www.oracle.com/cn/java/technologies/downloads/#java11

echo "export JAVA_HOME=/usr/local/jdk-11.0.23" >> /etc/profile
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile

[root@harbor mysql]# java -version
java version "11.0.23" 2024-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.23+7-LTS-222)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.23+7-LTS-222, mixed mode)

生成jre
cd /usr/local/jdk-11.0.23
bin/jlink --module-path jmods --add-modules java.desktop --output jre

二、nacos单机安装

1.1 nacos单机安装

下载地址:https://github.com/alibaba/nacos/releases

cd /usr/local/
tar -xzvf nacos-server-2.3.2.tar.gz
# 数据库设置
# 1.创建nscos用户,如果在nacos和mysql在2台机器上
CREATE USER 'nacos'@'%';
ALTER USER 'nacos'@'%' IDENTIFIED BY 'nacos';
GRANT ALL privileges on nacos.* TO 'nacos'@'%';

# 如果nacos和mysql在同一台机器上
CREATE user 'nacos'@'localhost';
ALTER USER 'nacos'@'localhost' IDENTIFIED BY 'nacos';
GRANT ALL privileges on nacos.* TO 'nacos'@'localhost';

FLUSH PRIVILEGES;

CREATE DATABASE nacos;
quit;

mysql -P 3307 -u root -p"wg1q2w3e" -D nacos < /usr/local/nacos/conf/mysql-schema.sql

mysql> use nacos
Database changed
mysql> show tables;
+----------------------+
| Tables_in_nacos      |
+----------------------+
| config_info          |
| config_info_aggr     |
| config_info_beta     |
| config_info_tag      |
| config_tags_relation |
| group_capacity       |
| his_config_info      |
| permissions          |
| roles                |
| tenant_capacity      |
| tenant_info          |
| users                |
+----------------------+
12 rows in set (0.00 sec)

# 配置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.2 启动nacos

cd /usr/local/nacos/bin
sh startup.sh -m standalone    # -m standalone 代表单机模式启动
或
nohup sh startup.sh -m standalone &
[root@harbor conf]# netstat -ntlp | grep java
tcp6       0      0 :::7848                 :::*                    LISTEN      2318/java           
tcp6       0      0 :::8848                 :::*                    LISTEN      2318/java           
tcp6       0      0 :::9848                 :::*                    LISTEN      2318/java           
tcp6       0      0 :::9849                 :::*                    LISTEN      2318/java

# 8848 用户web页面访问
# 98489849 用于2.x版本服务端链接
# 7848 Nacos集群通信端口,用于Nacos集群间进行检举、检测
https://nacos.io/zh-cn/docs/upgrading/2.0.0-compatibility/

# 停止服务
cd /usr/local/nacos/bin
sh shutdown.sh

# 浏览器访问:
http://192.168.10.20:8848/nacos

 1.3 集群部署

配置nacos配置文件/usr/local/nacos/conf/cluster.conf.example

cp cluster.conf.example cluster.conf

# 添加集群中其它机器IP地址和端口信息
192.168.10.20:8848
192.168.10.21:8848
192.168.10.22:8848

# 再配置 application.properties 

# 启动nacos
cd /usr/local/bin/
nohup sh ./startup.sh &      # nacos 默认的启动方式就是以集群模式启动

# 如果出现问题查看日志,虚拟机一般就内存问题
查看启动日志,cat /usr/local/nacos/logs/start.out ,或查看 nacos 日志cat /usr/local/nacos/logs/nacos.log

 

实际环境实际配置