Nacos单节点部署

🎈 作者:互联网-小啊宇

🎈 简介: 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=disabledsystemctl 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.hqwc.cn/news/57774.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux mmap系统调用视角看缺页中断

问题 1. mmap具体是怎么实现比read/write少一次内存copy的 2.mmap共享映射和私有映射在内核实现的时候到底有什么区别 3.mmap的文件映射和匿名映射在内核实现的时候到底有什么区别 4.父子进程的COW具体怎么实现的 概述 实际开发过程中经常使用或者看到mmap函数&#xff0…

Visual Studio 2022的MFC框架——应用程序向导

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Visual Studio 2022开发工具下的MFC框架知识。 MFC(Microsoft Foundation Class,微软基础类库)是微软为了简化程序员的开发工作所开发的一套C类的集合&#xf…

OPENCV C++(八)HOG的实现

hog适合做行人的识别和车辆识别 对一定区域的形状描述方法 可以表示较大的形状 把图像分成一个一个小的区域的直方图 用cell做单位做直方图 计算各个像素的梯度强度和方向 用3*3的像素组成一个cell 3*3的cell组成一个block来归一化 提高亮度不变性 常用SVM分类器一起使用…

数字图像处理 --- 相机的内参与外参(CV学习笔记)

Pinhole Camera Model(针孔相机模型) 针孔相机是一种没有镜头、只有一个小光圈的简单相机。 光线穿过光圈并在相机的另一侧呈现倒立的图像。为了建模方便,我们可以把物理成像平面(image plane)上的图像移到实际场景(3D object)和焦点(focal p…

代码分析Java中的BIO与NIO

开发环境 OS:Win10(需要开启telnet服务,或使用第三方远程工具) Java版本:8 BIO 概念 BIO(Block IO),即同步阻塞IO,特点为当客户端发起请求后,在服务端未处理完该请求之前&#xff…

UE中低延时播放RTSP监控视频解决方案

第1章 方案简介 1.1 行业痛点 在各种智慧城市、智慧社区、智慧水利、智慧矿山等数字孪生项目中,经常使用通UE来开发三维可视化场景。在这些场景中通常都需要把现场的各种监控视频在UE的可视化场景中接入,主要包含海康威视、大华、宇视、华为等众多监控…

网络编程——数据包的组装和拆解

数据包的组装和拆解 一、数据包在各个层之间的传输 二、各个层的封包格式 1、链路层封包格式 -------------------------------------------------------------------------------------------------------------------------------------- | 目标MAC地址(6字节&a…

WebView2对比CefSharp的超强优势

第一次使用了CefSharp组件,集成开发结束后,测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。然后又测试对比了其他多种组件,具体情况可以阅读我的博客​ ​《.NET桌面程序集成Web网页开发的十种解决方案》​​。最终选用了微软新出…

Ubuntu 22.04安装和使用ROS1可行吗

可行。 测试结果 ROS1可以一直使用下去的,这一点不用担心。Ubuntu会一直维护的。 简要介绍 Debian发行版^_^ AI:在Ubuntu 22.04上安装ROS1是可行的,但需要注意ROS1对Ubuntu的支持只到20.04。因此,如果要在22.04上安装ROS1&am…

中间件多版本冲突的4种解决方案和我们的选择

背景 在小小的公司里面,挖呀挖呀挖。最近又挖到坑里去了。一个稳定运行多年的应用,需要在里面支持多个版本的中间件客户端;而多个版本的客户端在一个应用里运行时会有同名类冲突的矛盾。在经过询问chatGPT,百度,googl…

linux下.run安装脚本制作

1、安装文件(install.sh) PS: .run安装包内部执行脚本文件 2、资源文件(test.zip) PS: 待安装程序源文件 3、制作.run脚本(install.run) cat install.sh test.zip > install.run chmod ax install.run

【软件工程】3 ATM系统的设计

目录 3 ATM系统的设计 3.1体系结构设计 3.2 设计模式选择 3.3 补充、完善类图 3.4 数据库设计 3.4.1 类与表的映射关系 3.4.2 数据库设计规范 3.4.3 数据库表 3.5 界面设计 3.5.1 界面结构设计 3.5.2 界面设计 3.5.2.1 功能界面设计 3.5.2.2 交互界面 总博客&…