CentOS7安装部署Nacos

文章目录

  • CentOS7安装部署Nacos
  • 一、前言
    • 1.简介
    • 2.环境
  • 二、正文
    • 1.部署服务器
    • 2.基础环境
      • 1)主机名
      • 2)Hosts文件
      • 3)关闭防火墙
      • 4)JDK 安装部署
      • 5)MySQL 安装部署
    • 3.外置数据源
      • 1)下载软件包
      • 2)导入数据
    • 4.单机部署
      • 1)下载软件包
      • 2)修改配置文件
      • 3)单机启动
      • 4)自启动
    • 5.集群部署
      • 1)下载软件包
      • 2)修改配置文件
        • (1)application.properties
        • (2)cluster.conf
      • 3)拷贝Nacos
      • 4)集群启动
      • 5)自启动
      • 6)进阶部署
    • 三、其它
    • 1.常用命令

CentOS7安装部署Nacos

一、前言

1.简介

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台

2.环境

  • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
  • JDK 版本:Java SE Development Kit 11.0.19
  • MySQL 版本:mysql80-community-release-el7-9
  • Nacos 版本:2.2.3

Nacos 官网:https://nacos.io/zh-cn/index.html

Nacos - github:https://github.com/alibaba/nacos/tags

Nacos 鉴权:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

Nacos 多数据源插件:https://nacos.io/zh-cn/docs/v2/plugin/datasource-plugin.html

Nacos 集群部署说明 :https://nacos.io/zh-cn/docs/v2/guide/admin/cluster-mode-quick-start.html

CentOS7安装部署Java11:https://blog.csdn.net/u011424614/article/details/132418561

CentOS7安装部署MySQL80:https://blog.csdn.net/u011424614/article/details/132418916

keepalived识别MGR主节点:https://blog.csdn.net/u011424614/article/details/133222266

nginx入门和使用实践:https://blog.csdn.net/u011424614/article/details/107051875

CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916

二、正文

1.部署服务器

  • Nacos 端口
端口描述
7848集群数据同步端口
8848Web管理端访问端口
9848客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849服务端gRPC请求服务端端口,用于服务间同步等
  • 服务器
机器名IP软件包
sys-cluster-01192.168.249.131Nacos
sys-cluster-02192.168.249.132Nacos
sys-cluster-03192.168.249.133Nacos
sys-cluster-04192.168.249.134MySQL

2.基础环境

1)主机名

  • 修改 4 台服务器的主机名
# 131 执行
hostnamectl set-hostname sys-cluster-01 --static
hostnamectl set-hostname sys-cluster-01 --transient# 132 执行
hostnamectl set-hostname sys-cluster-02 --static
hostnamectl set-hostname sys-cluster-02 --transient# 133 执行
hostnamectl set-hostname sys-cluster-03 --static
hostnamectl set-hostname sys-cluster-03 --transient# 134 执行
hostnamectl set-hostname sys-cluster-04 --static
hostnamectl set-hostname sys-cluster-04 --transient# 查询状态
hostnamectl status

2)Hosts文件

  • 修改 4 台服务器的 hosts 文件
cat > /etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.249.131 sys-cluster-01
192.168.249.132 sys-cluster-02
192.168.249.133 sys-cluster-03
192.168.249.134 sys-cluster-04
EOF

3)关闭防火墙

  • 可禁用防火墙,或配置开放的端口,后者比较安全
#--关闭防火墙
systemctl stop firewalld.service
#--开机禁用防火墙
systemctl disable firewalld.service
#--防火墙状态
systemctl status firewalld.service

4)JDK 安装部署

在 4 台服务器上安装JDK

  • 安装参考:《CentOS7安装部署Java11》
  • 安装目录:/opt/java/jdk-11.0.19

5)MySQL 安装部署

在 134 服务器上安装MySQL

  • 安装参考:《CentOS7安装部署MySQL80》
  • 目录:
  1. 安装目录:/usr/local/mysql
  2. 数据库文件目录,例如表结构和数据:/var/lib/mysql
  3. 日志文件目录:/var/log/mysql
  4. 配置文件目录:/etc/mysql
  5. 用户名:root 密码:Root@#123456

3.外置数据源

在 134 服务器上执行

  • 数据源选择
  1. 内置数据源:无需进行任何配置
  2. 外置数据源:生产使用建议至少主备模式,或者采用高可用数据库

1)下载软件包

  • 创建安装目录,并下载
mkdir /opt/nacos
cd /opt/nacos# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz
# 解压
tar -xzf nacos-server-2.2.3.tar.gz

2)导入数据

  • 登录 mysql 客户端,并执行 nacos 自带的 SQL 文件
mysql -ruoot -p# 创建数据库
CREATE DATABASE nacos_config;
USE nacos_config;
# 执行 sql 文件
SOURCE /opt/nacos/nacos/conf/mysql-schema.sql
# 查询
show tables;

4.单机部署

在 131 服务器上执行

1)下载软件包

  • 创建安装目录,并下载
mkdir /opt/nacos
cd /opt/nacos# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz
# 解压
tar -xzf nacos-server-2.2.3.tar.gz

2)修改配置文件

  • 编辑 application.properties 配置文件

【Config Module Related Configurations】段:配置 MySQL 数据库

【Access Control Related Configurations】段:开启鉴权

  1. nacos.core.auth.plugin.nacos.token.secret.key:使用 Base64 在线编码 进行密钥生成,至少 32 个字符
vim /opt/nacos/nacos/conf/application.properties
  • 内容
### If use MySQL as datasource:
spring.datasource.platform=mysql### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://sys-cluster-04:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=Root@#123456### If turn on auth system:
nacos.core.auth.enabled=true
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=amxramxramtsamFkc2Zhc2RmYXNkZmE1NjQ1NmY0NWFzZDRmNjU0YXM1NmRmNDZhNXNk

3)单机启动

  • 单机模式运行
# 执行权限
chmod +x /opt/nacos/nacos/bin/startup.sh
chmod +x /opt/nacos/nacos/bin/shutdown.shcd /opt/nacos/nacos/bin
# 启动
./startup.sh -m standalone
# 停止
./shutdown.sh
  • 日志输出
# 实时输出
tail -f /opt/nacos/nacos/logs/start.out
# 静态输出
cat /opt/nacos/nacos/logs/start.out
  • 浏览器访问:http://192.168.249.131:8848/nacos
  • 输入账号和密码:nacos / nacos

4)自启动

  • 创建 nacos.service
cat > /etc/systemd/system/nacos.service <<EOF
[Unit]
Description=Nacos Service standalone
After=syslog.target network.target[Service]
Environment="JAVA_HOME=/opt/java/jdk-11.0.19"
Type=forking
ExecStart=/opt/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/opt/nacos/nacos/bin/shutdown.sh
ExecStop=/opt/nacos/nacos/bin/shutdown.sh
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
  • 启动服务,并设置开机自启动
systemctl daemon-reload
systemctl start nacos.service
systemctl enable nacos.service
  • 查询 Nacos 进程状态
systemctl status nacos.service

5.集群部署

1)下载软件包

在 131 服务器上执行

  • 创建安装目录,并下载
mkdir /opt/nacos
cd /opt/nacos# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz
# 解压
tar -xzf nacos-server-2.2.3.tar.gz

2)修改配置文件

在 131 服务器上执行

(1)application.properties
  • 编辑 application.properties 配置文件

【Config Module Related Configurations】段:配置 MySQL 数据库

【Access Control Related Configurations】段:配置鉴权信息

  1. nacos.core.auth.plugin.nacos.token.secret.key:使用 Base64 在线编码 进行密钥生成,至少 32 个字符
vim /opt/nacos/nacos/conf/application.properties
  • 编辑内容
### If use MySQL as datasource:
spring.datasource.platform=mysql### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://sys-cluster-04:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=Root@#123456### If turn on auth system:
nacos.core.auth.enabled=true
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=amxramxramtsamFkc2Zhc2RmYXNkZmE1NjQ1NmY0NWFzZDRmNjU0YXM1NmRmNDZhNXNk
(2)cluster.conf
  • 拷贝并编辑 cluster.conf
# 拷贝
cp /opt/nacos/nacos/conf/cluster.conf.example /opt/nacos/nacos/conf/cluster.conf# 编辑
vim /opt/nacos/nacos/conf/cluster.conf
  • 编辑内容,Nacos 集群的IP和端口列表
#it is ip
192.168.249.131:8848
192.168.249.132:8848
192.168.249.133:8848

3)拷贝Nacos

在 131 服务器上执行

  • 拷贝 Nacos 到其它服务器
scp -r /opt/nacos root@192.168.249.132:/opt/nacos
scp -r /opt/nacos root@192.168.249.133:/opt/nacos

4)集群启动

在 131、132、133 服务器上执行

  • 单机模式运行
# 执行权限
chmod +x /opt/nacos/nacos/bin/startup.sh
chmod +x /opt/nacos/nacos/bin/shutdown.shcd /opt/nacos/nacos/bin
# 启动
./startup.sh
# 停止
./shutdown.sh
  • 日志输出
# 实时输出
tail -f /opt/nacos/nacos/logs/start.out
# 静态输出
cat /opt/nacos/nacos/logs/start.out
  • 浏览器访问:
  1. http://192.168.249.131:8848/nacos
  2. http://192.168.249.132:8848/nacos
  3. http://192.168.249.133:8848/nacos
  • 输入账号和密码:nacos / nacos

5)自启动

在 131、132、133 服务器上执行

  • 创建 nacos.service
cat > /etc/systemd/system/nacos.service <<EOF
[Unit]
Description=Nacos Service standalone
After=syslog.target network.target[Service]
Environment="JAVA_HOME=/opt/java/jdk-11.0.19"
Type=forking
ExecStart=/opt/nacos/nacos/bin/startup.sh
ExecReload=/opt/nacos/nacos/bin/shutdown.sh
ExecStop=/opt/nacos/nacos/bin/shutdown.sh
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
  • 启动服务,并设置开机自启动
systemctl daemon-reload
systemctl start nacos.service
systemctl enable nacos.service
  • 查询 Nacos 进程状态
systemctl status nacos.service

6)进阶部署

Nacos 集群部署说明 :https://nacos.io/zh-cn/docs/v2/guide/admin/cluster-mode-quick-start.html

  • Nginx 负载均衡

  • Nginx + Keepalived 双机主备

  • Nginx + Keepalived 双主热备

三、其它

1.常用命令

命令说明
systemctl daemon-reload重新加载服务配置
systemctl start nacos.service启动服务
systemctl enable nacos.service开机自启动服务
systemctl status nacos.service查询服务状态
systemctl stop nacos.service停止服务
systemctl restart nacos.service重启服务
systemctl disable nacos.service禁用开机自启动服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149098.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

二十二,加上各种贴图

使用pbr的各种贴图&#xff0c;albedo,金属度&#xff0c;ao,法线&#xff0c;粗糙度&#xff0c;可以更好的控制各个片元 1&#xff0c;先加上纹理坐标 texCoords->push_back(osg::Vec2(xSegment, ySegment)); geom->setVertexAttribArray(3, texCoords, osg::Array::BI…

Linux基本指令(上)——“Linux”

各位CSDN的uu们好呀&#xff0c;今天&#xff0c;小雅兰的内容是Linux啦&#xff01;&#xff01;&#xff01;主要是Linux的一些基本指令和Linux相关的基本概念&#xff08;系统层面&#xff09;&#xff0c;下面&#xff0c;让我们进入Linux的世界吧&#xff01;&#xff01;…

Linux基本指令介绍系列第四篇

文章目录 前言一、Linux基本指令介绍1、more指令2、less指令3、head指令4、tail指令5、bc指令6、管道文件介绍7、与时间相关的指令 总结 前言 本文介绍Linux使用时的部分指令&#xff0c;读者如果想了解更多基本指令的使用&#xff0c;可以关注博主的后续的文章。 博主使用的实…

Sentinel安装

Sentinel 微服务保护的技术有很多&#xff0c;但在目前国内使用较多的还是Sentinel&#xff0c;所以接下来我们学习Sentinel的使用。 1.介绍和安装 Sentinel是阿里巴巴开源的一款服务保护框架&#xff0c;目前已经加入SpringCloudAlibaba中。官方网站&#xff1a; 首页 | Se…

数据源报表

1.新建报表 2.新建数据集 3.维护数据源 支持的数据库还是蛮多哈 4.选择数据源表 5.编写sql 编码&#xff1a;SQL数据集的标识 注&#xff1a;避免特殊字符和_名称&#xff1a;SQL数据集的名称是否集合&#xff1a;否为单数据&#xff1b;是为多数据列表&#xff0c;如果多条数据…

怎么通过docker/portainer部署vue项目

这篇文章分享一下如何通过docker将vue项目打包成镜像文件&#xff0c;并使用打包的镜像在docker/portainer上部署运行&#xff0c;写这篇文章参考了vue-cli和docker的官方文档。 首先&#xff0c;阅读vue-cli关于docker部署的说明&#xff0c;上面提供了关键的几个步骤。 从上面…

opencv图像数组坐标系

在OpenCV的Python接口&#xff08;cv2&#xff09;中&#xff0c;加载的图像数组遵循以下坐标系和方向约定&#xff1a; 1. **坐标系&#xff1a;** OpenCV的坐标系遵循数学中的坐标系&#xff0c;原点&#xff08;0, 0&#xff09;位于图像的左上角。横轴&#xff08;X轴&…

国庆发生的那些事儿------编写了炫酷的HTML动态鼠标特效,超级炫酷酷酷!

文章目录 前言具体操作总结 前言 国庆假期的欢乐&#xff0c;当然少不了编码爱好者&#xff01;假期编写了炫酷的HTML动态鼠标特效&#xff0c;超级炫酷酷酷&#xff01;让你的页面变得更加炫酷&#xff0c;让你的小伙伴们羡慕的大神编码&#xff01;快来看看大神是如何编写的…

英伟达NVIDIA驱动安装

一般&#xff0c;我们新的显卡上机或者新系统可能就需要重新安装显卡驱动。或者是我们在配置深度学习环境时候&#xff0c;需要手动安装驱动。 官网地址&#xff1a;官方高级驱动搜索 | NVIDIA 我们选择好自己需要的驱动后直接安装即可 下载的时候&#xff0c;选择自己需要的驱…

基于SpringBoot的网上超市系统

基于SpringBoot的网上超市系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;用户、管理员 管理员&#xff1a;个人中心、用户管理、商品分类…

BIRCH算法全解析:从原理到实战

目录 一、引言什么是BIRCH算法BIRCH算法的应用场景文章目标和结构概述 二、BIRCH算法基础CF&#xff08;Clustering Feature&#xff09;树的概念数据点簇簇的合并和分裂 BIRCH的时间复杂度和空间复杂度BIRCH vs K-means和其他聚类算法 三、BIRCH算法的技术细节CF树的构建节点和…

计算机毕设 大数据工作岗位数据分析与可视化 - python flask

文章目录 0 前言1 课题背景2 实现效果3 项目实现3.1 概括 3.2 Flask实现3.3 HTML页面交互及Jinja2 4 **完整代码**5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要…

word 多级目录的问题

一、多级标题自动编号 --> 制表符 -> 空格 网址&#xff1a; 【Word技巧】2 标题自动编号——将多级列表链接到样式 - YouTube 二、多级列表 --> 正规形式编号 网址&#xff1a;Word 教学 - 定框架&#xff1a;文档格式与多级标题&#xff01; - YouTube 三、目…

osg实现鼠标框选

目录 1. 需求的提出 2. 具体实现 2.1. 禁止场景跟随鼠标转动 2.2. 矩形框前置绘制 3. 附加说明 3.1. 颜色设置说明 3.2.矩形框显示和隐藏的另一种实现 1. 需求的提出 有时需要在屏幕通过按住键盘上的某个键如Ctrl键且按住鼠标左键&#xff0c;拖出一个矩形&#xff0c;实现框…

[Machine learning][Part3] numpy 矢量矩阵操作的基础知识

很久不接触数学了&#xff0c;machine learning需要用到一些数学知识&#xff0c;这里在重温一下相关的数学基础知识 矢量 矢量是有序的数字数组。在表示法中&#xff0c;矢量用小写粗体字母表示。矢量的元素都是相同的类型。例如&#xff0c;矢量不包含字符和数字。数组中元…

vertx的学习总结7

这里我就简单的聊几句&#xff0c;如何用vertx web来搞一个web项目的 1、首先先引入几个依赖&#xff0c;这里我就用maven了&#xff0c;这个是kotlinvertx web <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apac…

Modelsim测试覆盖率操作说明

1、打开Project窗口界面 2、在project界面下&#xff0c;选中所有需要测试覆盖率的.v文件&#xff08;不包括tb文件&#xff09;&#xff0c;鼠标点击右键&#xff0c;在Properties选项中选择Coverage选项&#xff0c;选择需要测试的覆盖率类型 3、重新编译所有的源文件&#x…

(三) Markdown插入互联网或本地视频解决方案

前言 不论博客系统是WordPress还是Typecho&#xff0c;绕不开的是两种书写语言&#xff0c;一种称之为富文本&#xff0c;一种叫做Markdown。 Markdown有很多好处&#xff0c;也有很多坏处&#xff0c;比如Markdown本身不具备段落居中的功能&#xff0c;以及Markdown也不具有…

Java架构师职责和技能

目录 1 架构师简介2 架构师职责2.1 架构师是技术领导架构设计做决策2.2 架构师可以是团队或者组织2.3 架构师必须掌握足够的技术知识2.4 架构师必须掌握足够的架构设计技能2.5 架构师必须具备很好的编程能力2.6 架构师必须深入理解业务及其业务的领域知识2.7架构师应该具备很好…

基于Java的驾校收支管理可视化平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…