Nacos单节点部署

news2024/12/25 9:18:48

🎈 作者:互联网-小啊宇

🎈 简介: CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护等领域。
🎈 博客首页:CSDN【互联网-小阿宇】 、阿里云【互联网-小阿宇】
🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬

在这里插入图片描述

Nacos单节点部署

  • 前言
    • 概览
    • 什么是 Nacos?
    • Nacos 地图
    • Nacos 生态图
  • 操作环境
  • 一、安装JDK环境
    • 1.1 上传安装包
    • 1.2 解压安装包
    • 1.3 编写环境变量文件
    • 1.4 验证JDK版本
  • 二、安装MySQL数据库
    • 2.1 将rpm安装包上传到服务器
    • 2.2 创建数据库文件夹
    • 2.3 关闭沙盒、防火墙
    • 2.4 重启服务器
    • 2.5 安装MySQL
    • 2.6 修改/etc/my.cnf
    • 2.7 启动MySQL
    • 2.8 查看MySQL运行状态
    • 2.9 查看初始密码
    • 2.10 进入MySQL数据库
    • 2.11 修改密码策略
    • 2.12 修改密码
    • 2.13 远程连接数据库登录授权
    • 2.14 MySQL基本命令
  • 三、Nacos部署
    • 3.1 上传Nacos安装包
    • 3.2 解压Nacos
    • 3.3 使用navicat连接数据库
    • 3.4 新建nacos数据库并修改编码集
    • 3.5 导入数据库配置文件
    • 3.6 修改nacos相关配置文件
    • 3.7 启动Nacos
    • 3.8 登录Nacos验证

前言


概览

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

什么是 Nacos?

服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:
Kubernetes Service
gRPC & Dubbo RPC Service
Spring Cloud RESTful Service
Nacos 的关键特性包括:

  • 服务发现和服务健康监测
    Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。
    Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。
  • 动态配置服务
    动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。
    动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。
    配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
    Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。
  • 动态 DNS 服务
    动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。
    Nacos 提供了一些简单的 DNS APIs TODO 帮助您管理服务的关联域名和可用的 IP:PORT 列表.
  • 服务及其元数据管理
    Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。
    更多的特性列表 …

Nacos 地图

一图看懂 Nacos,下面架构部分会详细介绍。
在这里插入图片描述

  • 特性大图:要从功能特性,非功能特性,全面介绍我们要解的问题域的特性诉求
  • 架构大图:通过清晰架构,让您快速进入 Nacos 世界
  • 业务大图:利用当前特性可以支持的业务场景,及其最佳实践
  • 生态大图:系统梳理 Nacos 和主流技术生态的关系
  • 优势大图:展示 Nacos 核心竞争力
  • 战略大图:要从战略到战术层面讲 Nacos 的宏观优势

Nacos 生态图

在这里插入图片描述

如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
Spring Cloud
Apache Dubbo and Dubbo Mesh
Kubernetes and CNCF

使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。

操作环境

IP地址操作环境运行资源备注
192.168.8.88Centos7.52C8GJDK、MySQL、Nacos

一、安装JDK环境


1.1 上传安装包

在这里插入图片描述

1.2 解压安装包

[root@localhost packages]# tar -zxf jdk-8u171-linux-x64.tar.gz -C /usr/local/
[root@localhost packages]# cd /usr/local
[root@localhost local]# mv jdk1.8.0_171/ java

1.3 编写环境变量文件

[root@localhost local]# vim /etc/profile
#尾部添加
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
[root@localhost local]# source /etc/profile

1.4 验证JDK版本

[root@localhost local]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

二、安装MySQL数据库


2.1 将rpm安装包上传到服务器

在这里插入图片描述

2.2 创建数据库文件夹

[root@localhost mysql]# mkdir /data

2.3 关闭沙盒、防火墙

vim /etc/selinux/config
#修改
SELINUX=disabled

systemctl stop firewalld && systemctl disable firewalld

2.4 重启服务器

reboot

2.5 安装MySQL

[root@localhost mysql]# rpm -Uvh /root/packages/mysql/*.rpm --nodeps --force

2.6 修改/etc/my.cnf

vim /etc/my.cnf

[mysqld]
server_id=1
log_bin = /data/mysql/mysql-bin
max_connections=1000
lower_case_table_names = 1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
expire_logs_days=1
datadir=/data/mysql
socket=/data/mysql/mysql.sock
max_allowed_packet=4G
wait_timeout=288000
interactive_timeout = 288000
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
socket=/data/mysql/mysql.sock

2.7 启动MySQL

systemctl start mysqld.service

2.8 查看MySQL运行状态

systemctl status mysqld.service

在这里插入图片描述

2.9 查看初始密码

grep "password" /var/log/mysqld.log

在这里插入图片描述

2.10 进入MySQL数据库

[root@localhost mysql]# mysql -uroot -p
Enter password: 输入从日志获取的密码

2.11 修改密码策略

set global validate_password_policy=0;
set global validate_password_length=1;

2.12 修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '数据库密码';

2.13 远程连接数据库登录授权

grant all on *.* to root@'%' identified by '数据库密码';

2.14 MySQL基本命令

#设置开机自启动
systemctl enable mysqld
#重启数据库
systemctl restart mysqld
#开启数据库
systemctl start mysqld
#停止数据库
systemctl stop mysqld

三、Nacos部署


3.1 上传Nacos安装包

在这里插入图片描述

3.2 解压Nacos

[root@localhost packages]# tar -zxf nacos-server-2.2.3.tar.gz

3.3 使用navicat连接数据库

在这里插入图片描述

3.4 新建nacos数据库并修改编码集

在这里插入图片描述

在这里插入图片描述

3.5 导入数据库配置文件

从服务器中将mysql-schema.sql文件导出到电脑
在这里插入图片描述
或者
在主机将nacos的安装包解压同样可以获取到sql文件
在这里插入图片描述
使用navicat导入sql文件
在这里插入图片描述
在这里插入图片描述
或者
可以通过终端进入MySQL数据库进行导入

[root@localhost ~]# mysql -uroot -p
Enter password:#输入密码 
mysql> use nacos;
Database changed
mysql> source /root/packages/nacos/conf/mysql-schema.sql;

3.6 修改nacos相关配置文件

进入conf目录,复制一份cluster.conf.example,修改名称为cluster.conf

[root@localhost conf]# pwd
/root/packages/nacos/conf
[root@localhost conf]# cp cluster.conf.example cluster.conf

修改cluster.conf内容

[root@localhost conf]# vi cluster.conf

在这里插入图片描述
修改application.properties文件

[root@localhost conf]# vi application.properties

前面的数字为行号,可能有所不同,以实际为准

#修改端口号
#23# 
server.port=8848
#119# 
server.tomcat.accesslog.enabled=false
#开启权鉴
#138#
nacos.core.auth.enabled=true
#141#
nacos.core.auth.caching.enabled=true
#144#
nacos.core.auth.enable.userAgentAuthWhite=false
#148#
nacos.core.auth.server.identity.key=example
#149#
nacos.core.auth.server.identity.value=example
#156#
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234582254644945479
#添加配置(注意修改数据库地址和密码)
#37取消注释#
spring.sql.init.platform=mysql

### Count of DB:
#40取消注释#
db.num=1

### Connect URL of DB:
#43-45取消注释并修改配置#
db.url.0=jdbc:mysql://192.168.8.88:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123.com

### Connection pool configuration: hikariCP
#48-51#
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

3.7 启动Nacos

[root@localhost bin]# pwd
/root/packages/nacos/bin
[root@localhost bin]# ls
shutdown.cmd  shutdown.sh  startup.cmd  startup.sh
[root@localhost bin]# ./startup.sh 
/usr/local/java/bin/java -Djava.ext.dirs=/usr/local/java/jre/lib/ext:/usr/local/java/lib/ext  -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/packages/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Dnacos.member.list= -Xloggc:/root/packages/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/root/packages/nacos/plugins,/root/packages/nacos/plugins/health,/root/packages/nacos/plugins/cmdb,/root/packages/nacos/plugins/selector -Dnacos.home=/root/packages/nacos -jar /root/packages/nacos/target/nacos-server.jar  --spring.config.additional-location=file:/root/packages/nacos/conf/ --logging.config=/root/packages/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with cluster
nacos is starting,you can check the /root/packages/nacos/logs/start.out

3.8 登录Nacos验证

访问http://192.168.8.88:8848/nacos

用户名:nacos
密码:nacos

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

第十五章 定义 HL7 的 DTL 数据转换

文章目录 第十五章 定义 HL7 的 DTL 数据转换 第十五章 定义 HL7 的 DTL 数据转换 每个接口可能需要一定数量的数据转换。创建转换时,不要使用保留的包名称。 重要提示:请勿在数据转换中手动更改 HL7 转义序列;自动处理这些。 可以使用“数…

智能状态监测如何帮助设备管理团队转型升级?

制造业面临人才短缺和生产力提升的双重挑战。然而,全球市场对生产效率和产品质量的要求依然高企。这些挑战的核心在于,制造业需要在日益复杂的环境下,实时识别并应对生产过程中的异常情况,确保生产持续稳定。 一、传统状态监测的限…

Android 13 Hotseat定制化修改

一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,下面开始…

深度学习中的优化算法

文章目录 前言一、优化和深度学习1.1 优化的目标1.2 深度学习中的优化挑战1.2.1 局部最小值1.2.2 鞍点1.2.3 梯度消失 二、梯度下降2.1 一维梯度下降2.1.1 学习率 2.2 多元梯度下降2.3 自适应方法2.3.1 牛顿法2.3.2 其他自适应方法 三、随机梯度下降3.1 随机梯度更新3.2 动态学…

JS逆向之顶像滑块

本教程仅限于学术探讨,也没有专门针对某个网站而编写,禁止用于非法用途、商业活动、恶意滥用技术等,否则后果自负。观看则同意此约定。如有侵权,请告知删除,谢谢! 目录 一、接口请求流程 二、C1包 三、ac 四…

HTTP协议学习笔记1

初识HTTP 输入网址进入网页过程发生了什么? DNS解析:浏览器会向本地DNS服务器发出域名解析请求,如果本地DNS服务器中没有对应的IP地址,则会向上级DNS服务器继续发出请求,直到找到正确的IP地址为止。 建立TCP连接&…

关于Log日志

日志常用的如Logback&#xff0c;方便查看日志和打印的SQL&#xff08;或配合idea的一些mybaits日志插件&#xff09;&#xff0c;简单讲讲。 Logback等级 ALL < TRACE < DEBUG < INFO < WARN < ERROR <FATAL <OFF 配置文件结构 configuration appender…

微信小程序读取本地json

首先在项目录下新建【server】文件夹&#xff0c;新建data.js文件&#xff0c;并定义好json数据格式。如下&#xff1a; pages/index/index.ts导入data.js并请求json pages/index/index.wxml页面展示数据

365. 水壶问题

365. 水壶问题 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 365. 水壶问题 https://leetcode.cn/problems/water-and-jug-problem/description/ 完成情况&#xff1a; 解题思路&#xff1a; /**在任意一个时刻…

[Web_Unagi]xxe注入过滤绕过

文章目录 [Web_Unagi]xxe注入过滤绕过 [Web_Unagi]xxe注入过滤绕过 提示我们需要上传文件&#xff0c;并且flag在根目录下&#xff0c; 上传文件的格式为&#xff1a; <users><user><username>alice</username><password>passwd1</password…

封装上传文件组件(axios,进度条onUploadProgress,取消请求)

目录 定时模拟进度条 方法 A.axios B.xhr 取消请求​​​​​​​ 完整代码 A.自定义上传组件 B.二次封装组件 情况 增加cancelToken不生效&#xff0c;刷新页面 进度条太快->设置浏览器网速 定时模拟进度条 startUpload() {if (!this.file) return;const totalS…

【C++】bind包装器

bind包装器 调用bind的一般形式&#xff1a;auto newCallable bind(callable,arg_list); 其中&#xff0c;newCallable本身是一个可调用对象&#xff0c;arg_list是一个逗号分隔的参数列表&#xff0c;对应给定的 callable的参数。 当我们调用newCallable时&#xff0c;newCa…

【内网穿透】配置公网访问,实现远程连接到内网群晖NAS 6.X

公网远程访问内网群晖NAS 6.X【内网穿透】 文章目录 公网远程访问内网群晖NAS 6.X【内网穿透】前言1. 群晖NAS远程操作2. 创建一条“群晖SSH”隧道 &#x1f340;小结&#x1f340; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&#x1…

虚拟ip地址软件哪个好 手机虚拟ip地址软件有哪些

虚拟ip地址修改器 IP转换器软件是一种用于把不同格式的IP地址转换为另一种格式的工具。下面是几种常见的深度IP转换器软件&#xff1a; 1. 深度IP转换器 深度IP转换器是一种收费的、简单易用的在线工具&#xff0c;可以将IPv4地址转换为16进制、2进制和10进制等格式。此外&am…

面向万物智联的应用框架的思考与探索

本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第3期 | 面向万物智联的应用框架的思考与探索》 演讲嘉宾 | 余枝强 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 余枝强&#xff0c;OpenHarmony技术指导委员会跨平台应用开发框架TSG负责人&#xff0c;华为终端软件部…

现代C++中的从头开始深度学习【2/8】:张量编程

一、说明 初学者文本&#xff1a;此文本需要入门级编程背景和对机器学习的基本了解。张量是在深度学习算法中表示数据的主要方式。它们广泛用于在算法执行期间实现输入、输出、参数和内部状态。 在这个故事中&#xff0c;我们将学习如何使用特征张量 API 来开发我们的C算法。具…

冠达管理:A股三大指数震荡整理 机构看好反弹趋势延续

周一&#xff0c;沪深两市呈弱势震动格式&#xff0c;创业板指领跌。到收盘&#xff0c;上证综指跌0.59%&#xff0c;报3268.83点&#xff1b;深证成指跌0.83%&#xff0c;报11145.03点&#xff1b;创业板指跌1%&#xff0c;报2240.77点。 资金面上&#xff0c;沪深两市昨日合计…

基于随机森林的回归分析,随机森林工具箱,随机森林的详细原理

目录 背影 摘要 随机森林的基本定义 随机森林实现的步骤 基于随机森林的回归分析 随机森林回归分析完整代码及工具箱下载链接&#xff1a; 随机森林分类工具箱&#xff0c;分类随机森林&#xff0c;随机森林回归工具箱&#xff0c;回归随机森林资源-CSDN文库 https://download.…

C++11之右值引用

C11之右值引用 传统的C语法中就有引用的语法&#xff0c;而C11中新增了的 右值引用&#xff08;rvalue reference&#xff09;语法特性&#xff0c;所以从现在开始我们之前学习的引用就叫做左值引用&#xff08;lvalue reference&#xff09;。无论左值引用还是右值引用&#…

依赖管理插件

项目场景&#xff1a; 接手新项目 第一步: 检查项目 看文件中包管理工具是什么 包管理工具有很多种&#xff0c;不要拿到就npm安装依赖 问题描述 在项目下 安装pnpm总是报错 查看了网上没找到具体解决方案 解决方案&#xff1a; 全局安装pnpm 全局安装pnpm npm insta…