Nacos 高可用集群部署

一、准备数据库

数据库用了 mysql, 其实nacos 也是支持mysql 主从集群的,不过简单起见, 这里就只用了一个 mysql 节点。 mysql 是需要自己事先安装 配置的(需要执行 nacos 提供的 conf/nacos-mysql.sql 脚本)

这个其实很简单。schema 名字不重要,重要的是 执行 nacos 的sql 脚本就好了。

二、安装Nacos

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

2.1 获取Nacos安装包

可以通过两种方式来获取 Nacos:

  • 从 Github 上下载源码方式
$ unzip nacos-source.zip
$ cd nacos/
$ mvn -Prelease-nacos clean install -U
$ cd nacos/distribution/target/nacos-server-1.2.1/nacos/bin
  • 下载编译后压缩包方式
$ unzip nacos-server-1.2.1.tar.gz 或者 tar -xvf nacos-server-1.2.1.tar.gz
$ cd nacos/bin

我们使用第二种方式安装,把下载好的nacos-server-1.2.1.tar.gz放置于/usr/local目录下,并解压缩。

2.2 配置集群配置文件

在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)

$ cp conf/cluster.conf.example conf/cluster.conf

将各个节点的IP配置于conf/cluster.conf配置文件中:

10.4.7.101:8848
10.4.7.102:8848
10.4.7.103:8848

2.3 配置MySQL数据库

注意:生产使用建议至少主备模式,或者采用高可用数据库。

2.3.1 初始化MySQL数据库

sql语句源文件

mysql> CREATE DATABASE `nacos_config`;
mysql> USE `nacos_config`;
mysql> source nacos-mysql.sql;
2.3.2 application.properties 配置

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://10.4.7.101:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=test


#*************** CMDB Module Related Configurations ***************#
### The interval to dump external CMDB in seconds:
nacos.cmdb.dumpTaskInterval=3600

### The interval of polling data change event in seconds:
nacos.cmdb.eventTaskInterval=10

### The interval of loading labels in seconds:
nacos.cmdb.labelTaskInterval=300

### If turn on data loading task:
nacos.cmdb.loadDataAtStart=false

# 激活权限认证
nacos.core.auth.enabled=true

#*************** Metrics Related Configurations ***************#
### Metrics for prometheus
# 激活Prometheus监控采集Exporter
management.endpoints.web.exposure.include=*

### Metrics for elastic search
#management.metrics.export.elastic.enabled=true
#management.metrics.export.elastic.host=http://localhost:9200

注意:三节点conf/cluster.confconf/application.properties配置一样即可!

2.3.3 启动服务
$ sh nacos/bin/startup.sh

查看端口是否启动:

$ netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      958/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1192/master         
tcp6       0      0 :::22                   :::*                    LISTEN      958/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1192/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      12155/mysqld        
tcp6       0      0 :::8848                 :::*                    LISTEN      12550/java    

如果8848端口以启动,则可通过Web界面访问8848端口,访问方式:http://10.4.7.101:8848/nacos

nacos登录页面
默认账号:nacos
默认密码:nacos
nacos页面

2.4 配置Nacos为系统服务

$ vim /usr/lib/systemd/system/nacos.service
[Unit]
Description=nacos-server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service] 
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
Restart=always PrivateTmp=true

[Install]
WantedBy=multi-user.target

$ systemctl start nacos.service
$ systemctl status nacos.service
$ systemctl enable nacos.service
posted @ 2021-01-25 15:18  吕振江  阅读(546)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end