linux下部署nacos(单机、集群)

nacos.jpg

官网文档地址:nacos.io/zh-cn/docs/... github地址:github.com/alibaba/nac...

nacos简介

Nacos,全称阿里巴巴开源的动态服务发现、配置和服务管理平台,是构建以"服务"为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。它是云原生应用的三大功能:注册中心、配置中心和动态DNS服务的提供者。

在服务注册发现和服务健康检测方面,Nacos支持基于DNS和基于RPC的服务发现,并且服务端可以通过SDK或者Api进行服务注册。相应的服务消费者可以使用DNS或者Http查找的方式获取服务列表。此外,Nacos还提供对服务的实时健康检查,阻止向不健康的主机或服务发送请求。

在动态配置服务上,Nacos支持动态的配置管理,将服务的配置信息分环境分类别外部管理,并且支持热更新。与Config不同的是,Nacos的配置信息存储在数据库中,支持配置信息的监听和版本回滚。

除此之外,Nacos还能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的SLA以及metrics统计数据。

单机部署

1.从github下载项目github.com/alibaba/nac... 我部署的是2.1.0版本,大家可以根据自己的需求下载相应的文件 2.项目拉取完之后我们直接放到服务器上解压 3.项目依赖于mysql数据库,版本版本要求:5.6.5+,我们需要创建一个库名为nacos的数据库,使用nacos/conf/nacos-mysql.sql初始化数据,初始化完成之后就可以部署项目了 初始化sql文件[1] 4.修改 nacos/conf/application.properties 配置文件,我们此处只需修改我们的端口号和数据库配置即可 配置文件模板[2] 5.启动项目

bash 复制代码
cd nacos/bin
sh startup.sh -m standalone

集群部署

集群部署前边的步骤和单机部署一致,我们在第四步的时候还需要在 nacos/conf 下额外配置一个 cluster.conf的配置文件,请每行配置成ip:port。(请配置3个或3个以上节点)

makefile 复制代码
# ip:port
192.168.1.106:8858
192.168.1.106:8868
192.168.1.106:8878

我们此处配置了3个节点,每个服务的配置文件只有端口号做了修改,其他的均一致; 启动项目:

bash 复制代码
cd nacos/bin
sh startup.sh

部署完成后我们使用默认的用户:nacos,密码:nacos登录

_20230610223717.png

到此我们已经可以使用了 如果我们使用http://ip1:port/nacos 直连ip模式,机器挂则需要修改ip才可以使用。生产我们推荐使用ng或其他方式做负载,来提高我们服务的可用性

部署常见问题

1.jdk 配置问题

vbnet 复制代码
readlink: missing operand
Try 'readlink --help' for more information.
dirname: missing operand
Try 'dirname --help' for more information.
ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!

这种情况是我们配置的jdk路径nacos没识别到,我们只需在启动脚本nacos/bin/startup.sh中手动配置下我们的JAVA_HOME 路径即可 图中红色标记的部分则是我们添加的自己的jdk安装路径

参考资料

[1]

初始化sql文件: mindoc.xiuji.mynatapp.cc/attach_file...

[2]

配置文件模板: mindoc.xiuji.mynatapp.cc/attach_file...

相关推荐
杨哥带你写代码1 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
AskHarries2 小时前
读《show your work》的一点感悟
后端
A尘埃2 小时前
SpringBoot的数据访问
java·spring boot·后端
yang-23072 小时前
端口冲突的解决方案以及SpringBoot自动检测可用端口demo
java·spring boot·后端
Marst Code2 小时前
(Django)初步使用
后端·python·django
代码之光_19802 小时前
SpringBoot校园资料分享平台:设计与实现
java·spring boot·后端
编程老船长2 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
IT果果日记3 小时前
DataX+Crontab实现多任务顺序定时同步
后端
姜学迁4 小时前
Rust-枚举
开发语言·后端·rust
爱学习的小健4 小时前
MQTT--Java整合EMQX
后端