5. nacos 部署

下载

   Nacos 2.1.2 安装包路径:https://github.com/alibaba/nacos/releases/tag/2.1.2

  如果有新的 release 版本,可以装新版。

  下载完成后,你可以在本地将 Nacos Server 压缩包解压,并将解压后的目录名改为“nacos-cluster1”,再复制一份同样的文件到 nacos-cluster2,以此来模拟一个由两台 Nacos Server 组成的集群。

  image

配置

  Nacos Server 的启动项位于 conf 目录下的 application.properties 文件里,别看这个文件里的配置项密密麻麻一大串,但大部分都不用你操心,直接使用默认值就好。你只需要修改这里面的服务启动端口和数据库连接串就好了。

启动项参数

  因为你需要在一台机器上同时启动两台 Nacos Server 来模拟一个集群环境,所以这两台 Nacos Server 需要使用不同的端口,否则在启动阶段会报出端口冲突的异常信息。

  Nacos Server 的启动端口由 server.port 属性指定,默认端口是 8848。我们在 nacos-cluster1 中仍然使用 8848 作为默认端口,你只需要把 nacos-cluster2 中的端口号改掉就可以了,这里我把它改为 8948。

#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Include message field
server.error.include-message=ALWAYS
### Default web server port:
server.port=8848

  接下来,你需要对 Nacos Server 的 DB 连接串做一些修改。在默认情况下,Nacos Server 会使用 Derby 作为数据源,用于保存配置管理数据。Derby 是 Apache 基金会旗下的一款非常小巧的嵌入式数据库,可以随 Nacos Server 在本地启动。但从系统的可用性角度考虑,我们需要将 Nacos Server 的数据源迁移到更加稳定的 MySQL 数据库中。

数据源配置

  你需要修改三处 Nacos Server 的数据库配置。

  • 指定数据源:spring.datasource.platform=mysql 这行配置默认情况下被注释掉了,它用来指定数据源为 mysql,你需要将这行注释放开;
  • 指定 DB 实例数:放开 db.num=1 这一行的注释;
  • 修改 JDBC 连接串:db.url.0 指定了数据库连接字符串,我指向了 localhost 3306 端口的 nacos 数据库,稍后我将带你对这个数据库做初始化工作;db.user.0 和 db.password.0 分别指定了连接数据库的用户名和密码,我使用了默认的无密码 root 账户。

  以下是完整的数据库配置项。

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
# spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

db.user.0=user
db.password.0=pwd

### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

  修改完数据库配置项之后,接下来需要去 MySQL 中创建 Nacos Server 所需要用到的数据库 Schema 和数据库表。

创建 DB Schema 和 Table

  1. 创建数据库 nacos create database nacos;

  2. 创建数据库表,切换到 nacos 数据库下,在 Navicat 中运行红框中的文件。

    image

  3. 数据库准备妥当之后,我们还剩最后一项任务:添加集群机器列表。添加成功后就可以完成集群搭建了。

添加集群机器列表

  Nacos Server 可以从一个本地配置文件中获取所有的 Server 地址信息,从而实现服务器之间的数据同步。所以现在我们要在 Nacos Server 的 conf 目录下创建 cluster.conf 文件,并将 nacos-cluster1 和 nacos-cluster2 这两台服务器的 IP 地址 + 端口号添加到文件中。下面是我本地的 cluster.conf 文件的内容。

## 注意,这里的IP不能是localhost或者127.0.0.1
192.168.3.136:8848
192.168.3.136:8948

  这里需要注意的是,你不能在 cluster.conf 文件中使用 localhost 或者 127.0.0.1 作为服务器 IP,否则各个服务器无法在集群环境下同步服务注册信息。这里的 IP 应该使用你本机分配到的内网 IP 地址。如果你使用的是 mac 或者 linux 系统,可以在命令行使用 ifconfig 命令来获取本机 IP 地址。

en0: flags=8863 mtu 1500
	options=400
	ether f4:5c:89:ae:99:a7
	inet6 fe80::102b:8c4d:cf44:e94a%en0 prefixlen 64 secured scopeid 0x5
	inet 192.168.3.136 netmask 0xffffff00 broadcast 192.168.3.255
	nd6 options=201
	media: autoselect
	status: active

  ‍

启动

单机启动

sh startup.sh -m standalone

以集群方式启动

sh startup.sh 

nacos is starting with cluster
nacos is starting,you can check the /Users/banxian/workspace/dev/middleware/nacos-cluster1/logs/start.out

  快速停止和启动的命令

sh /Users/changcheng/bigdata/SpringCloud/nacos/nacos1/bin/shutdown.sh
sh /Users/changcheng/bigdata/SpringCloud/nacos/nacos2/bin/shutdown.sh
sh /Users/changcheng/bigdata/SpringCloud/nacos/nacos3/bin/shutdown.sh

sh /Users/changcheng/bigdata/SpringCloud/nacos/nacos1/bin/startup.sh
sh /Users/changcheng/bigdata/SpringCloud/nacos/nacos2/bin/startup.sh
sh /Users/changcheng/bigdata/SpringCloud/nacos/nacos3/bin/startup.sh

登录 Nacos 控制台

  http://127.0.0.1:8848/nacos/#/login

  用户名:nacos
密 码:nacos

  ‍

  • Nacos
    21 引用 • 4 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...