当前位置: 首页 > news >正文

Nacos部署(二)Linux部署Nacos2.3.x集群环境

😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Nacos部署(二)Linux部署Nacos2.3.x集群环境
⏱️ @ 创作时间: 2024年03月23日

目录

  • 1、搭建单机环境
  • 2、配置集群
  • 3、启动、停止集群节点
  • 4、配置自启服务
  • 5、配置nginx映射
  • 6、SpringCloud连接集群

《Linux部署Nacos-2.3.x单机环境》
《Docker部署Nacos-2.3.x单机环境》
《Docker部署Nacos-2.3.x集群环境》

1、搭建单机环境

首先按照单机环境的流程成功,需要进行配置mysql环境配置application.properties配置startup.sh,参考《Linux部署Nacos-2.3.x单机环境》完成搭建的搭建并且成功运行。

2、配置集群

配置nacos集群,至少需要三个节点。

如果是在不同服务器上搭建:

  • 可以先在某一台上,完成单机环境的配置然后拷贝到其他服务器,再完成后续的集群配置
  • 直接在每台服务器上进行单机的环境部署,然后再完成后续的集群配置。

如果是在同服务器上搭建:

  • 在通过一个服务上部署集群,进行测试时,可以将完成单机环境的配置然后拷贝多份,比如分为:nacos1、nacos2、nacos3,并且修改不同的端口。

部署流程如下:

节点及端口分为:nacos1(8848、9848、9849)、nacos2(8858、9858、9859)、nacos3(8868、9868、9869)

  • 1、搭建单机环境:
    /opt/cloud/nacos-cluster(手动创建)目录下,部署一个nacos单机环境,并且修改nacos的名称为nacos1,保证nacos1搭建成功。

  • 2、复制文件
    将搭建好的nacos1复制为nacos2nacos3

  • 3、修改集群cluster.conf
    分别进入到nacos1、nacos2、nacos3的配置目录中,将cluster.conf.example 修改为 cluster.conf并且修改里面的配置。

    # 分别进入到nacos1、nacos2、nacos3的配置目录
    cd /opt/cloud/nacos-cluster/nacos1[nacos2/nacos3]/conf# 修改nacos1、nacos2、nacos3中的配置文件名称
    mv cluster.conf.example cluster.conf# 分别修改nacos1、nacos2、nacos3中cluster.conf的配置
    vim cluster.conf# nacos1、nacos2、nacos3配置内容均如下,每个nacos均要配置集群中的所有节点[至少3个]
    111.229.160.175:8848
    111.229.160.175:8858
    111.229.160.175:8868
    

    在这里插入图片描述

  • 4、修改application.properties
    分别进入到nacos1、nacos2、nacos3的配置目录中,修改application.properties配置中的端口。

    	# 分别进入到nacos1、nacos2、nacos3的配置目录cd /opt/cloud/nacos-cluster/nacos1[nacos2/nacos3]/conf# 分别修改nacos1、nacos2、nacos3中application.properties的配置vim application.properties# 端口依次修改为8848、8858、8868server.port=8848[8858/8868]# 集群模式下,使用的LVS的DR模式作的nacos的vip,这样三个节点上面都有这个vip以及这个节点自己的ip# 导致nacos把这个vip也当作一个节点了。# 修改nacos.inetutils.ip-address=为当前服务器的ipnacos.inetutils.ip-address=111.229.160.175
    

    在这里插入图片描述

  • 5、修改JVM内存
    集群环境下,JVM内存默认为2g,如果资源不足或者资源有余,可以进行JVM内存修改。

    # 分别进入到nacos1、nacos2、nacos3的bin目录
    cd /opt/cloud/nacos-cluster/nacos1[nacos2/nacos3]/bin# 分别修改nacos1、nacos2、nacos3中application.properties的配置
    vim startup.sh# 依次修改JVM,如下配置
    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    

    在这里插入图片描述

文档中进行了在本机如何配置集群环境,如果在不同服务器上配置集群环境,那么可以不需要修改端口的步骤,只进行cluster.conf文件配置即可。

3、启动、停止集群节点

操作命令:

# 以内部数据源方式启动,依次启动
sh startup.sh# 停止
sh shutdown.sh

成功启动任何一个节点:

启动日志:
在这里插入图片描述
登录测试:

通过:http://112.14.15.16:8848、8858、8868/nacos,成功访问nacos则表示搭建成功。
默认账户:nacos
默认密码:nacos,为了安全在第一次进入到nacos以后最好修改一次密码。
在这里插入图片描述
控制台节点信息:
在这里插入图片描述

成功启动所有节点:
在这里插入图片描述
集群搭建成功后,数据会进行同步;访问任意一个节点,都可以看到所有的服务列表、配置列表等数据

4、配置自启服务

自启服务需要手动配置JAVA_HOME路径路径,修改 /bin/startup.sh文件

查询jdk配置:

#1、查询jdk配置
echo $JAVA_HOME
# 2、结果
/usr/local/java/jdk1.8.0_131

修改为指定jdk:

# 修改配置
vim start.sh# 内容
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/java/jdk1.8.0_131

在这里插入图片描述

创建自启服务:

vim /usr/lib/systemd/system/nacos.service

加入内容:

[Unit]
Description=nacos
After=network.target[Service]
Type=forking
# 单节点方式启动,填写实际路径
# ExecStart=/opt/cloud/nacos/bin/startup.sh -m standalone
# 集群方式启动-外部数据源启动,填写实际路径
ExecStart=/opt/cloud/nacos/bin/startup.shExecStop=/opt/module/nacos/bin/shutdown.sh
PrivateTmp=true[Install]
WantedBy=multi-user.target

加入自启:

systemctl daemon-reload
systemctl enable nacos.service

操作命令:

# 启动
systemctl start  nacos# 停止
systemctl stop  nacos

5、配置nginx映射

由于是集群配置,存在多个服务端控制台,我们可以通过任意一个控制台看到所有节点信息,为了减少节点的访问量,想要访问不同的节点需要输入不同的ip:port

通过nginx做负载均衡,向外暴漏一个统一的地址,目的有两个:

  • 为了单个节点的减轻压力和方便操作
  • 在SpringCloud整合,server-addr配置一个统一的入口路径

ngxin配置内容如下:

  ........upstream nacos-proxy {server 111.229.160.175:8848 weight=1;server 111.229.160.175:8858 weight=1;server 111.229.160.175:8868 weight=1;}server {....location /nacos {proxy_pass         http://nacos-proxy;port_in_redirect   on;proxy_redirect     off;    proxy_set_header   Host             $host;  proxy_set_header   X-Real-IP        $remote_addr;proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;proxy_set_header   Upgrade $http_upgrade;proxy_set_header   Connection "upgrade";}....}

效果:
在这里插入图片描述

6、SpringCloud连接集群

spring:cloud:nacos:discovery: #连接nacos集群前,配置好nginx负载均衡,直接连接nginx的ip+port即可,80端口可以忽略server-addr: 162.14.115.18......

在这里插入图片描述

相关文章:

Nacos部署(二)Linux部署Nacos2.3.x集群环境

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: Nacos部署(二)Linux部署Nacos2.3.x集群环境 ⏱️…...

RuoYi 自定义字典列表页面编码翻译

“字典数据”单独维护,而不是使用系统自带的字典表,应该如何使用这样的字典信息呢? 系统字典的使用,请参考: 《RuoYi列表页面字典翻译的实现》 https://blog.csdn.net/lxyoucan/article/details/136877238 需求说明…...

GAMES101 学习4

材质和外观 材质 BRDF 漫反射 任何方向的光进来都会被均匀的反射到周围各个不同的方向上去 假设能量守恒,那么 Li Lo,这之后BRDF就 ,就可以定义一个反照率 (Albeo) - ,在(0 - 1&#xff0…...

Redis中的缓存穿透

缓存穿透 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,导致这些请求直接到了数据库上,对数据库造成了巨大的压力,可能造成数据库宕机。 常见的解决方案: 1)缓存无效 key 如果缓存和数据库中都查不到某…...

javaSwing超市收银(txt)

一、简介 超市收银系统是商店管理的重要组成部分,它可以帮助商家高效地进行商品管理、销售记录和结算。本文将介绍如何使用Java Swing开发一个简单的超市收银系统,包括基本功能如登录、修改商品信息、结算等,并利用txt文本作为数据库存储商品…...

Linux 理解文件系统、磁盘结构、软硬链接

目录 一、理解磁盘结构 1、磁盘的物理结构 2、硬件层面理解 3、磁盘的具体物理存储结构 4、进行逻辑抽象 5、磁盘文件的管理 6、创建新文件的过程 二、理解文件系统 1、文件的构成 2、为何选择4KB而非512字节作为基本单位? 3、文件系统的组成 数据块(Data Blocks&a…...

智慧商场数字化创新需要有数字能力帮手

商场和商圈是是促进流通创新、培育新兴消费的载体。很多实体店为适应消费升级需求新变化,加快运用现代信息技术,建设智慧商店,创新消费场景。蚓链运用现代信息技术(互联网、物联网、5G、大数据、人工智能、云计算等)&a…...

JS加密解密之应用如何保存到桌面书签

前言 事情起因是这样的,有个客户解密了一个js,然后又看不懂里边的一些逻辑,想知道它是如何自动拉起谷歌浏览器和如何保存应用到书签的,以及如何下载应用的。继而诞生了这篇文章,讲解一下他的基本原理。 渐进式Web应用…...

线上linux服务器升级nginx

一个nginx版本空包 一个pcre文件 一个zlib文件 ./configure配置文件 make编译 make install复制所有文件到nginx 如果nginx -v无版本号 检查环境变量cat /etc/profile 编辑 环境变量vi /etc/profile 按i进入编辑模式 按esc进入查看模式 因为path中并未使用%JAVA_HOME%字样…...

使用JDK提供的常用工具在多线程编写线程安全和数据同步的程序

题图来自APOD 你好,这里是codetrend专栏“高并发编程基础”。 引言 在并发执行任务时,由于资源共享的存在,线程安全成为一个需要考虑的问题。与串行化程序相比,并发执行可以更好地利用CPU计算能力,提高系统的吞吐量…...

八道Python入门级题目及答案详解

前言 介绍Python作为一门流行的编程语言,易学易用的特点。强调通过练习题目来加深对Python语法和编程概念的理解。 题目一:计算两个数的和 描述:编写一个Python程序,计算两个数的和,并输出结果。举例:输…...

Git 的cherry-pick含义

目录 1. cherry-pick的基本概念 2. cherry-pick的使用场景 3. cherry-pick的使用方法 结论 1. cherry-pick的基本概念 git cherry-pick是一个Git命令,它允许你选择一个或多个其他分支上的提交(commits),并将它们复制到你当前的…...

大数据中TopK问题

1.给定100个int数字&#xff0c;在其中找出最大的10个; import java.util.PriorityQueue;public class Main {public static void main(String[] args) {final int topK 3;int[] vec {4, 1, 5, 8, 7, 2, 3, 0, 6, 9};PriorityQueue<Integer> pq new PriorityQueue<…...

基于SpringBoot+MyBatis+Vue的电商智慧仓储管理系统的设计与实现(源码+LW+部署+讲解)

前言 博主简介&#x1f468;&#x1f3fc;‍⚕️&#xff1a;国内某一线互联网公司全栈工程师&#x1f468;&#x1f3fc;‍&#x1f4bb;&#xff0c;业余自媒体创作者&#x1f4bb;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f4d5;&#x…...

C++经典面试题目(四)

1、请解释const关键字的作用。 在C中&#xff0c;const关键字主要用来表示“不变性”&#xff0c;即被它修饰的东西是不可修改的。它可以用于多种上下文&#xff1a; 修饰基本数据类型变量&#xff1a;声明一个常量&#xff0c;一旦初始化后&#xff0c;其值就不能再更改。 co…...

2024/3/24 蓝桥杯

P1678 烦恼的高考志愿 二分 import java.util.Arrays; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int m sc.nextInt();int[] a new int[n1];//学校int[] b new int[m…...

用户验证:Streamlit应用程序与Streamlit-Authenticator

写在前面 在数字化时代&#xff0c;数据安全和用户隐私越来越受到重视。对于使用Streamlit构建的Web应用程序来说&#xff0c;确保用户的安全身份验证是至关重要的。而Streamlit-Authenticator&#xff0c;作为一个专门为Streamlit应用程序设计的身份验证库&#xff0c;正成为保…...

风丘EV能量流测试解决方案 提高电动汽车续航能力

电动汽车&#xff08;EV&#xff09;近些年发展迅猛&#xff0c;已被汽车业内普遍认为是未来汽车发展的新方向&#xff0c;但现如今电动汽车仍然存在一些短板&#xff0c;导致其还无法替代传统燃油车。对此&#xff0c;首先想到的肯定就是电动车的续航问题。其实解决电动车续航…...

【Python】输出一个 Python 项目下需要哪些第三方包

方法一 pycharm 方法二 要分析一个 Python 项目下需要哪些第三方包并生成 requirements.txt 文件&#xff0c;你可以使用 pipreqs 工具。以下是具体的步骤&#xff1a; 首先&#xff0c;确保你已经安装了 pipreqs 工具。如果未安装&#xff0c;可以使用以下命令进行安装&a…...

程序员35岁会失业吗?【来自主流AI的回答】

程序员35岁会失业吗&#xff1f; 35岁被认为是程序员职业生涯的分水岭&#xff0c;许多程序员开始担忧自己的职业发展是否会受到年龄的限制。有人担心随着年龄的增长&#xff0c;技术更新换代的速度会使得资深程序员难以跟上&#xff1b;而另一些人则认为&#xff0c;丰富的经…...

2025届学术党必备的十大降重复率神器推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术研究范畴之内&#xff0c;论文撰写常常会由于其结构繁杂且格式规范极为严格&#xff0…...

CosyVoice2-0.5B效果实测:背景噪音音频对克隆效果影响量化

CosyVoice2-0.5B效果实测&#xff1a;背景噪音音频对克隆效果影响量化 1. 测试背景与目的 声音克隆技术近年来发展迅猛&#xff0c;阿里开源的CosyVoice2-0.5B作为一款强大的零样本语音合成系统&#xff0c;能够在短短3秒内复刻任意说话人的声音。但在实际应用中&#xff0c;…...

嵌入式系统中的累加和校验算法原理与实现

1. 累加和校验算法概述在嵌入式系统开发中&#xff0c;数据通信的可靠性至关重要。想象一下&#xff0c;当你通过无线模块控制一台工业机器人时&#xff0c;如果传输的运动指令数据出现错误&#xff0c;可能导致机械臂做出完全不可预测的动作&#xff0c;轻则损坏产品&#xff…...

华为OD面试官最爱问的10个Python八股文,我这样答拿到了Offer

华为OD Python面试实战指南&#xff1a;10个高频问题的深度解析与应答策略 面试开场&#xff1a;如何用技术叙事打动面试官 去年冬天&#xff0c;我坐在华为OD的会议室里&#xff0c;手指不自觉地敲击着桌面。面试官推了推眼镜&#xff0c;抛出了第一个Python问题。那一刻我突然…...

FDTD_进阶指南:2D/3D材料建模与材料库深度解析

1. FDTD仿真中的材料建模基础 第一次接触FDTD仿真时&#xff0c;我被材料建模这个环节卡住了整整一周。当时想模拟一个简单的硅基光子晶体&#xff0c;结果连介电常数设置都搞不明白。后来才发现&#xff0c;材料建模是FDTD仿真的基石&#xff0c;就像盖房子要先打好地基一样。…...

QtScrcpy突破手游操控限制:从设备连接到多端协同的全栈解决方案

QtScrcpy突破手游操控限制&#xff1a;从设备连接到多端协同的全栈解决方案 【免费下载链接】QtScrcpy Android real-time display control software 项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy 在移动游戏竞技领域&#xff0c;触控操作的物理局限已成…...

Plumbum管道与重定向完全教程:构建复杂Shell命令链

Plumbum管道与重定向完全教程&#xff1a;构建复杂Shell命令链 【免费下载链接】plumbum Plumbum: Shell Combinators 项目地址: https://gitcode.com/gh_mirrors/pl/plumbum Plumbum是一个强大的Python库&#xff0c;它让您在Python中编写shell脚本般简洁的代码&#x…...

Llama-3.2-3B优化指南:Ollama性能调优,让模型跑得更快更稳

Llama-3.2-3B优化指南&#xff1a;Ollama性能调优&#xff0c;让模型跑得更快更稳 1. 为什么需要优化Llama-3.2-3B&#xff1f; Llama-3.2-3B作为一款30亿参数的轻量级大语言模型&#xff0c;在消费级硬件上表现出色。但在实际部署中&#xff0c;很多用户会遇到性能瓶颈&…...

AutoHotkey自动化效率提升指南:从入门到进阶的全场景应用技巧

AutoHotkey自动化效率提升指南&#xff1a;从入门到进阶的全场景应用技巧 【免费下载链接】antimicrox Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support. 项目地址: https://gitcode.co…...

Hackintool终极指南:三步解决黑苹果显卡、音频和USB配置难题

Hackintool终极指南&#xff1a;三步解决黑苹果显卡、音频和USB配置难题 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 还在为黑苹果配置而烦恼吗&#xff1f;显卡驱动不工作、音…...