linux 启动nacos报错_Nacos的安装及使用
一、Nacos简介Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。Nacos 的主要特性有:1、服务发现和服务健康检测简单的讲就是微服务的注册中心组件2、动态配置服务简单的讲就是微服务的配置中心组件3、动态DNS服务DNS解析服务,可配置路由的权重,实现中间层的负载均衡4、服务及元数据管理可视化管理服务的元数据、包括服务的描述、生命周期、健康状态、
一、Nacos简介
Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
Nacos 的主要特性有:
1、服务发现和服务健康检测
简单的讲就是微服务的注册中心组件
2、动态配置服务
简单的讲就是微服务的配置中心组件
3、动态DNS服务
DNS解析服务,可配置路由的权重,实现中间层的负载均衡
4、服务及元数据管理
可视化管理服务的元数据、包括服务的描述、生命周期、健康状态、流量管理等等
可查看官网战略图:
二、Nacos安装与使用
快速开始使用
1、下载
方式1、下载发行版
Nacos 的代码开源在Github 上,所以它的发行版也在上面。随便下载: .zip 和.tar.gz 其中一个即可
1、Github发行地址:https://github.com/alibaba/nacos/releases
Github在国内访问,速度是真的慢,所以速度慢的可以使用国内的gitee进行下载
2、Gitee发行地址:https://gitee.com/mirrors/Nacos/releases
Gitee下载下来是源码,需要自己编译安装,但是gitee 还有百度网盘的下载地址,在介绍页的最后有Baidu Netdisk点击即可下载,提取码是:rest。
注意这个网盘地址,可能会失效,如失效可自行去Gitee找最新的地址。
方式2、下载源码自己编译
这种方式我也是推荐的,github速度慢,源码可以在gitee上下载,每天同步一次。
# Github
git clone https://github.com/alibaba/nacos.git
# Gitee(国内推荐这个,可以clone具体的版本哦!)
git clone https://gitee.com/mirrors/Nacos.git
cd nacos/
# 编译
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
编译完成之后,生成的安装包在 distribution/target/目录下面有两个.zip 和.tar.gz的就是安装包了。解压即可。
2、启动
在上面下载或自己编译得到的压缩文件,自己动手解压之后,就可以启动了。
我记得我之前在1.0.0版本还是之前的哪个版本用过的,在windows下直接双击bin/startup.cmd即可运行。
但是我现在用的是最新版本:1.3.2这个版本nacos的启动模式默认是集群模式,所以双击启动会报错。
解决方法:
在Linux/Unix/Mac下#启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
#如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
在启动的时候可以加参数:-m standalone单机启动。
或者修改bin/startup.sh,找到export MODE="cluster" 改为:export MODE="standalone" 即可。
在windows下这个和上面的一样,启动加参数:startup.cmd -m standalone
或者修改bin目录下的:startup.cmd文件找到set MODE="cluster" 改为:set MODE="standalone"即可
3、访问Nacos即可登陆到nacos管理界面,默认的账号和密码都是:nacos
Nacos默认启动端口是8848,这不就是珠穆朗玛峰的高度吗?
4、测试
启动之后我们看到nacos的管理界面有:
配置管理
这个就是配置中心了,随意配置
服务管理
注册中心的服务管理
权限控制
这个是nacos的用户角色管理
命名空间
不同的命名空间可以有不同的配置与服务,像生产环境、开发环境、测试环境的各种配置什么的就可以以命名空间隔开
集群管理
这个是nacos的高可用,集群列表
感觉都不算难,比较人性化,可以自己随便玩一玩,试一试。可以使用postman接口请求测试,或者使用curl
# 服务注册
POST http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080
# 服务发现
GET http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName
# 发布配置
POST http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld
# 获取配置
GET http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test
当然,也是可以使用nacos 客户端进行测试的。
5、关闭服务
直接执行bin目录下的shutdown可执行文件即可。
shutdown.sh
shutdown.cmd
三、Nacos数据持久化
nacos默认的数据是保存在本地文件中,其实Nacos也是提供配置让我们保存在Mysql中的。
我的环境:
Nacos版本:1.3.2
Mysql版本:mysql8.0
1、导入Mysql脚本首先新建一个叫做:nacos的数据库(名字随便取)
然后在nacos的conf目录下,找到nacos-mysql.sql 把它导入到nacos数据库。
2、更新配置修改nacos的conf目录下的application.properties,的mysql配置
把注释打开,然后修改为你自己mysql的配置即可
### 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=root
db.password=root
更新完配置,照常启动即可。
四、Nacos集群Nacos的高可用,配置集群。其实配置集群非常简单
在nacos的conf目录有一个叫做cluster.conf.example这个就是配置集群的模板文件。
打开发现里面只需要填写ip即可。我们可以修改它为cluster.conf(也就是把后缀去掉)。
或者新增一个cluster.conf,然后再里面写上各个节点的nacos地址即可。
1、在不同主机上运行nacos
如果在不同ip的主机上运行nacos,只需要添加cluster.conf文件里面每行写一个nacos所在的ip:port即可。
2、在一台电脑配置集群
没办法,太穷,资源有限,只能提供一台机器。所以只能在一台机器以不同端口启动的方式来配置集群。
打算的启动端口为:
8858
8868
8878
操作步骤1、下载nacos的发行版.zip或.tag.gz随便一个。
2、新建一个文件夹为cluster(随便取名,然后方便管理)
3、解压上面下载的发行版,放到上面新建的cluster文件夹,并重命名为:nacos-server-8858。
4、修改nacos-server-8858配置文件下的application.properties,修改端口为8858。
Tip: 修改端口的配置项为:server.port=8858,修改后面的数字即可。
5、在nacos-server-8858下的conf目录新增cluster.conf,编辑内容如下:
127.0.0.1:8858
127.0.0.1:8868
127.0.0.1:8878
6、再从8858复制出两份,分别命名为nacos-server-8868、nacos-server-8878。
7、分别修改复制出来的两个夹下的application.properties端口为8868、8878
8、因为在nacos-server-8858中已经新建了cluster.conf,所以其中两个复制出来的也自带了这个文件不需要修改。
示例图如下:
上面已经全部配置完成了,分别启动即可看到集群的情况。
自此集群就配置成功了,可以通过nginx 负载均衡
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)