一文带你从0开始搭建nacos集群

前言
  • Nacos是SpringCloudAlibaba架构中最重要的组件。
  • Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。
  • 能够无缝对接Springcloud、Spring、Dubbo等流行框架。
  • nacos支持a(高可用)p(分区容错)和c(一致性)p的切换默认为ap, eureka仅支持ap,zookeeper仅支持cp

Nacos与eureka比较

在这里插入图片描述

安装步骤

1、前提

需要java环境,提前装好jdk,版本>=1.8,未安装可参考文章:

在这里插入图片描述

需要一台可连接的mysql数据库,如未搭建可参考文章:

2、下载nacos包并上传至linux机器的/root/nacos目录下

https://github.com/alibaba/nacos/releases/tag/2.1.0

在这里插入图片描述
在这里插入图片描述

3、解压至/usr/local/nacos下,软件一般都装在/usr/local目录下

# 创建nacos目录
mkdir -p /usr/local/nacos
# 解压
tar -zxvf nacos-server-2.1.0.tar.gz -C /usr/local/nacos

在这里插入图片描述

解压后发现有两层nacos目录,可以将里面的一层改个名

mv ./nacos/ ./nacos-2.1.0

4、创建nacos持久化数据库

机器提前安装一台mysq,执行如下操作,如未安装,可参考:

创建nacos数据库

mysql -u root -p -e "create database nacos character set utf8mb4"

连接mysql,创建ncaos用户并授权

# 创建用户
create user 'nacos'@'localhost' identified by 'nacos';
# 授权
grant all on nacos.* to 'nacos'@'localhost';

导入初始化sql脚本

在这里插入图片描述

当前目录下执行(输入密码)

mysql -u root -p -D nacos < ./nacos-mysql.sql

进入mysql,查看导入的表结构

在这里插入图片描述

5、修改cluster.conf配置文件

cp cluster.conf.example cluster.conf
vim cluster.conf

在这里插入图片描述

端口连续会发生端口占用的情况

nacos2.0之后,nacos会占用四个端口,如果伪集群采用的端口是连号方式,会导致端口被占用。

比如,我们端口采用8848/8849/8859,则会出现端口冲突问题。

nacos2.0会占用的4个端口为:

  1. nacos端口:8848-nacos默认端口;
  2. raft协议端口:7848-raft port,即raft协议端口;
  3. grpc协议两个端口:9848-grpc协议端口(nacos端口+1000),9849-grpc协议端口(nacos+1001)

上一个端口号对应的grpc协议的端口之一(+1001)就会和下一个端口号对应的grpc协议(+1000)端口冲突。

6、修改application.properties配置文件

cp ./application.properties.example ./application.properties
vim application.properties

在这里插入图片描述

7、将nacos-2.1.0复制3份,分别以端口命名

在这里插入图片描述

8、分别修改他们的端口为8848、8850、8852

在这里插入图片描述

9、启动集群

./nacos-2.1.0-8848/bin/startup.sh
./nacos-2.1.0-8850/bin/startup.sh
./nacos-2.1.0-8852/bin/startup.sh

在这里插入图片描述

10、访问10.10.10.10:8848/nacos,登录

在这里插入图片描述

默认账号:nacos/nacos

查看集群状态

在这里插入图片描述

nginx反向代理配置

http {
	# nacos
    upstream nacoscluster {
        server 127.0.0.1:8848;
        server 127.0.0.1:8850;
        server 127.0.0.1:8852;
    }
    server {
        listen 8840;
        server_name localhost;

    location / {
        proxy_pass http://nacoscluster;
    }
}

访问10.10.10.10:8840/nacos
在这里插入图片描述

关于后续
  • 精彩内容请持续关注
  • 后续SpringCloud整合nacos实现服务注册与发现会用到本次集群,敬请期待
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈小白.

感谢老板,祝老板今年发大财!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值