Nacos官网
下载安装
curl -L -O https://github.com/alibaba/nacos/releases/download/2.2.1/nacos-server-2.2.1.zip
unzip nacos-server-2.2.1.zip
注:由于新版Nacos2.0使用了gPRC协议。相比Nacos1.4.x多了两个端口(9848/9849)。具体端口如下:
- Nacos服务端口 8848
- 服务端之间jRaft通信减1000(既7848)
- 服务端之间gRPC协议端口加1001(既9849)
- 客户端gRPC协议请求服务端加1000(既9848)
在2.2.0.1和2.2.1版本时(其他版本例如2.2.2可无需配置),必须在服务端
conf
目录下的application.properties
文件中设置nacos.core.auth.plugin.nacos.token.secret.key
值,详情可查看鉴权-自定义密钥.注意,文档中的默认值
SecretKey012345678901234567890123456789012345678901234567890123456789
和VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
为公开默认值,仅可用于临时测试,实际使用时请务必更换为自定义的其他有效值。
单机模式运行
单机模式只需要一个节点,且Nacos自带了内嵌Derby数据库(可以配置为MySQL、PostgreSQL等其他数据库)
cd nacos
./bin/startup.sh -m standalone
启动后,默认端口为8848(保持客户端与服务端网络此端口通畅),
通过浏览器可访问:http://IP:8848/nacos/
初始用户名为:nacos / nacos
集群模式运行
由于Nacos集群节点之间除了jRaft协议外,互相并不会同步元数据信息,所以Nacos节点之间的元数据一致性只能依靠数据库解决。这就决定了不能使用内嵌Derby数据库,需要使用MySQL数据库(目前Nacos默认只支持MySQL数据库,需要自己改写源代码以支持其他数据库)
注:集群节点之间需要raftPort端口进行通讯(该端口通常为nacos对外服务端口减去1000),需要保证节点之间该端口可以互访。
安装Nacos集群步骤为:
1、提前安装MySQL软件并初始化,这里使用版本为MySQL8.0.23(安装过程本文略,可参考:【MySQL基础】01:安装、目录结构、启动停止、修改密码_zyplanke的专栏-CSDN博客)
2、在MySQL中创建nacos用户,MySQL创建名为Nacos的Schema,并授权nacos用户可以访问。语句如下:
mysql> create user 'nacos'@'%' identified by '123456';
Query OK, 0 rows affected (0.02 sec)
mysql> create schema nacos;
Query OK, 1 row affected (0.00 sec)
mysql> grant ALL on nacos.* to 'nacos'@'%';
Query OK, 0 rows affected (0.00 sec)
3、使用nacos服务端自带的sql脚本(在conf目录下),创建nacos需要的表等对象
mysql -u nacos -p nacos < nacos-mysql.sql
3、修改nacos的配置文件application.properties,需要修改的配置如下
### 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=nacos
db.password.0=123456
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
3、为了节省机器,这里使用同一台机器上使用三个不同的服务端口来模拟三个节点。三个节点的IP和端口需要配置到cluster.conf文件中。 使用以Nacos自带的cluster.conf.example文件复制一份,作为cluster.conf文件。编辑cluster.conf文件,内容如下:
#it is ip
#example
172.18.182.4:8848
172.18.182.4:8849
172.18.182.4:8850
注意:此cluster.conf文件在cluster启动时会自动写一条本节点IP:PORT信息至本文件中(若配置文件已经存在该条信息则不会再重复追加写入)。其IP自动取节点的eth0网卡IP。 因此这里配置的各个节点IP需填写eth0网卡的实际IP(若本机多网卡则需要在application.properties中指定本节点的IP)
4、由于是在同一台机器上模拟三个节点,因此需要把nacos整个目录复制三份(前文已经配置的内容也会复制),复制后的目录名分别为:nacos8848、nacos8849、nacos8850
cp -R nacos nacos8848
cp -R nacos nacos8849
cp -R nacos nacos8850
5、分别对nacos8848、nacos8849、nacos8850目录下的conf/application.properties配置文件。将其中server.port配置项修改为对应的端口号
6、分别进入nacos8848、nacos8849、nacos8850目录下,执行如下命令分别启动nacos节点
./bin/startup.sh -m cluster
7、通过浏览器可访问(任选一个节点的IP端口):http://IP:8848/nacos/
初始用户名为:nacos / nacos