首页 > 其他分享 >Nacos高可用集群搭建与使用

Nacos高可用集群搭建与使用

时间:2024-04-16 10:47:55浏览次数:31  
标签:nacos 192.168 Nacos 实例 集群 MySQL 搭建

参考:https://blog.csdn.net/Alwayszmx/article/details/122291741

一、Nacos 简介
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

nacos官网:https://nacos.io/zh-cn/docs/what-is-nacos.html

二、Nacos 安装
2.1 Nacos 环境依赖
Nacos 基于 java 开发的,运行依赖于64 bit JDK 1.8+环境。

前往官网下载JDK: Java Downloads | Oracle

2.2 Nacos 服务端安装
由于Nacos是开源的,可以从github下载源码编译后安装,也可以直接从github下载官方编译好的安装包进行安装,本文直接使用官方编译好的包进行安装,基于目前官方最新release2.0.3版本。请勿使用2.x以下的版本,之前爆出过漏洞。2.x版本相对于1.x版本,性能也提升了10倍。

下载地址:https://github.com/alibaba/nacos/releases

 

三、Nacos 部署
3.1 单实例部署
单实例部署不适合生产环境,单点故障是致命的。

Linux 单实例非集群模式启动命令:

startup.sh -m standalone

Linux 单实例非集群模式关闭命令:

shutdown.sh

访问 nacos 管理页面,初始化用户名密码均为 nacos

访问地址:http://127.0.0.1:8848/nacos/index.html

端口默认为8848,ip需要替换为部署服务器实例的ip

3.2 集群部署
3.2.1 集群架构

 

高可用 Nginx 集群
Nacos 集群(至少三个实例)
高可用数据库集群(取代 Nacos 内嵌数据库)
3.2.2 模拟部署

环境信息:

系统版本

机器IP

部署应用

应用版本

CentOS8.5

192.168.230.1

Nginx

nginx-1.18.0

CentOS8.5

192.168.230.129

Nacos

2.0.3

CentOS8.5

192.168.230.130

Nacos

2.0.3

CentOS8.5

192.168.230.131

Nacos

2.0.3

CentOS8.5

192.168.230.1

MySQL

5.7.32

使用vmware虚拟机模拟以上不同机器环境。

搭建步骤:

1)初始化 nacos数据库

解压下载的安装包nacos-server-2.0.3.tar.gz至/usr/local目录,找到/nacos/conf下的nacos-mysql.sql脚本

 

在MySQL实例创建 nacos库并执行sql脚本

 

修改修改 Nacos 配置文件,指向MySQL实例,替换其内嵌数据库

 

在application.properties中找到如下配置,该配置默认为注释掉的,取消注释即可,修改数据库信息为实际的数据库信息后保存。其他nacos服务实例也需要做同样的修改

 

为了达到高可用,通常会有多个MySQL数据库实例,nacos的配置文件也需要指定每一个MySQL实例的信息,例如:

 

2)集群配置

在/nacos/conf下找到cluster.conf.example文件,将其重命名为cluster.conf

 

修改cluster.conf文件,将其中的默认的ip信息删除,将nacos集群中每一台nacos实例的ip添加进去。集群中所有nacos实例都需要做以上集群配置,至此关于 nacos 的配置结束了,可以尝试以集群模式启动三个nacos实例了。

 

切换到/nacos/bin目录下,执行./startup.sh & tail -f /usr/local/nacos/logs/start.out

启动nacos,并查看启动日志,出现下面提示说明启动成功

 

 

此时可以通过浏览器访问每个nacos实例的控制台,例如:http://192.168.230.131:8848/nacos

说明:如果三个实例以集群模式正常启动,那么分别访问三个实例的管理页就是展示以上登录页了。如果不能访问,则可能防火墙未开放 nacos 服务的端口,可执行如下命令。

[root@localhost bin]# firewall-cmd --add-port=8848/tcp --permanent

success

[root@localhost bin]# firewall-cmd --reload

success
如果nacos启动时报已下异常,有以下三种原因:

 

原因一:连不上MySQL数据库,通常是由于MySQL数据库所在的宿主机没有开放3306端口导致的,在MySQL宿主机执行以下命令即可

[root@localhost bin]# firewall-cmd --add-port=3306/tcp --permanent
success
[root@localhost bin]# firewall-cmd --reload
Success
原因二:由于nacos配置文件application.properties中默认的数据库连接超时时间设置较短,如下图,因为网络延时等原因,MySQL可能会连接超时导致nacos启动报错,因此只需要将超时时间适当设置长一些即可

 

原因三:虚拟机内存不足,由于在vmvare创建虚拟机时,只给每个虚拟分配了1G的内存,从nacos的启动脚本startup.sh中可知,nacos以集群模式启动时,默认分配的java堆内存空间为2G,因此可判断是由于虚拟机内存不足导致nacos启动报错,修改虚拟机内存为2G后可以正常启动。

 

3)Nginx 配置

修改 Nginx 配置文件 nginx.conf如下:

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

#nacos集群负载均衡
upstream nacos-cluster {
server 192.168.230.129:8848;
server 192.168.230.130:8848;
server 192.168.230.131:8848;
}

server {
listen 80;
server_name 192.168.230.1;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://nacos-cluster;
}

error_page 500 502 503 504 /50x.html;

location = /50x.html {
root html;
}
}
}
4)访问控制台

在浏览器输入Nginx服务所在宿主机的ip即可访问:

http://192.168.230.1/nacos/#/login

默认用户名/密码:nacos/nacos

 

切换至【集群管理】-【节点列表】,可查看nacos集群节点信息:


————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Alwayszmx/article/details/122291741

标签:nacos,192.168,Nacos,实例,集群,MySQL,搭建
From: https://www.cnblogs.com/gaoyanbing/p/18137603

相关文章

  • 免费搭建个人博客网站,无需服务器和域名
    免费搭建个人博客网站,无需服务器和域名当你想要开始自己的博客之旅,但又不想花费金钱购买服务器和域名时,还有一些免费的选择可供你选择。以下是一种无需服务器和域名的方法,利用GitHubPages和Jekyll搭建个人博客网站的简要步骤:步骤一:准备GitHub账户如果你还没有GitHub账......
  • Docker容器配置redis集群
    前言Redis集群是一种分布式数据库解决方案,旨在提供高性能、高可用性、可扩展性的数据存储服务。目前比较普遍流行的搭配则是三主三从配置,共6台redis服务进行集群配置。Redis的三主三从配置是一种集群模式,其中包含三个主节点和三个从节点。每个从节点对应一个主节点,当主......
  • 搭建 Windows GPU 服务器需要考虑多个方面,包括硬件选择、操作系统安装、驱动程序安装
    搭建WindowsGPU服务器需要考虑多个方面,包括硬件选择、操作系统安装、驱动程序安装、软件配置等。以下是一个简单的指南,介绍了搭建WindowsGPU服务器的基本步骤:1.硬件选择选择适合您需求的硬件配置,包括GPU、CPU、内存和存储。GPU是关键的组件,应根据您的应用需求选择......
  • StarRocks 集群安装
    当前按照官网上的提供的安装包方式安装,版本是3.2.2,部署模式为存算一体,安装的操作系统是Ubuntu22.04,JDK版本为OpenJDK11,这里选择3个节点进行安装,节点的hosts定义如下:10.0.1.25ec2510.0.1.26ec2610.0.1.27ec27由于StarRocks安装包比较大,所以选择在每个节点上都......
  • 消息中间件RabbitMQ_RabbitMQ集群搭建8
    一、集群搭建概述摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的可靠性、并发性......
  • 肖sir__app搭建笔记(18)
    app搭建一、app自动化测试环境和用途:主要用于做app端UI自动化,熟悉adb命令(a表示安卓,d表示debug,b表示桥)adb是连接手机设备二、搭建环境的工具(1)jdk  已安装,java的一种编译器 (本地windows安装)(2)android-sdk 软件开发工具组,里面存放一些类和函数    (3)appium-pyt......
  • 高性能婚恋交友源码的搭建
    系统性能不仅决定着婚恋交友源码的用户体验,也决定着婚恋交友源码的可持续发展潜力。为助力高性能婚恋交友源码的搭建,我们离不开对架构设计、事前防御、事后防御和恢复这三点的分析一、架构设计1、冗余能力所谓的冗余就是复制的多个副本,通过冗余数据可以避免数据丢失后该功能不......
  • ROS笔记[1]-搭建Gazebo仿真环境
    摘要在阿里无影云电脑Ubuntu20.04上搭建ROS1-Noetic环境及Gazebo环境;搭建XTDrone仿真环境.关键信息系统:Ubuntu20.04ROS1版本:NoeticGazebo版本:9原理简介阿里无影云电脑[https://www.aliyun.com/product/ecs][https://wuying.aliyun.com/]无影云电脑(WUYINGWorkspac......
  • 搭建个人图书馆!一个简单的在线个人书库
    大家好,我是Java陈序员。今天,给大家介绍一个在线的个人图书管理系统,支持在线阅读。关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍talebook——一个基于Calibre的简单的个人图书管理系统,支持在线阅读。友情提醒:个......
  • 项目搭建基本配置与规范
    项目搭建规范来源于coderwhy一.代码规范1.1.集成editorconfig配置EditorConfig有助于为不同IDE编辑器上处理同一项目的多个开发人员维护一致的编码风格。#http://editorconfig.orgroot=true[*]#表示所有文件适用charset=utf-8#设置文件字符集为utf-8ind......