【Liunx】部署Ansible自动化运维工具
Ansible自动化运维工具
- 概述
- 安装部署
- 1.通过yum下载Ansible
- 2.对自己做免密配置
- 3.修改ansiable host配置对服务器进行分组
- 4.测试:对所有服务器进行ping命令
- 5.写playbook
- 6.执行我们写的playbook脚本
- 7.验证
概述
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可。
安装部署
1.通过yum下载Ansible
[root@server1 ~]# yum install -y ansible
Last metadata expiration check: 1:33:20 ago on 2023年11月14日 星期二 19时08分08秒.
Dependencies resolved.
=================================================================================================================================================================================================================================================Package Architecture Version Repository Size
=================================================================================================================================================================================================================================================
Installing:ansible noarch 2.9.11-1.uel20 UnionTechOS-Server-20-everything 17 M
Installing dependencies:libsodium x86_64 1.0.18-1.uel20 UnionTechOS-Server-20-everything 152 kpython3-asn1crypto noarch 1.4.0-1.uel20 UnionTechOS-Server-20-everything 181 kpython3-babel noarch 2.8.0-3.uel20 UnionTechOS-Server-20-everything 6.1 Mpython3-bcrypt x86_64 3.2.0-1.uel20 UnionTechOS-Server-20-everything 40 kpython3-cffi x86_64 1.14.1-1.uel20 UnionTechOS-Server-20-everything 236 kpython3-cryptography x86_64 3.3.1-1.uel20 UnionTechOS-Server-20-everything 402 kpython3-invoke noarch 1.5.0-1.uel20.01 UnionTechOS-Server-20-everything 267 kpython3-jinja2 noarch 2.11.2-2.uel20 UnionTechOS-Server-20-everything 223 kpython3-jmespath noarch 0.9.0-11.uel20 UnionTechOS-Server-20-everything 42 kpython3-markupsafe x86_64 1.1.1-1.uel20 UnionTechOS-Server-20-everything 28 kpython3-pyasn1 noarch 0.4.8-1.uel20 UnionTechOS-Server-20-everything 136 kpython3-pycparser noarch 2.20-2.uel20 UnionTechOS-Server-20-everything 155 kpython3-pynacl x86_64 1.2.1-5.uel20 UnionTechOS-Server-20-everything 76 kpython3-pyyaml x86_64 5.3.1-4.uel20 UnionTechOS-Server-20-everything 188 ksshpass x86_64 1.06-8.uel20 UnionTechOS-Server-20-everything 24 k
Installing weak dependencies:python3-paramiko noarch 2.7.2-2.uel20 UnionTechOS-Server-20-everything 289 kTransaction Summary
=================================================================================================================================================================================================================================================
Install 17 PackagesTotal download size: 26 M
Installed size: 135 M
Downloading Packages:
(1/17): libsodium-1.0.18-1.uel20.x86_64.rpm 177 kB/s | 152 kB 00:00
(2/17): python3-asn1crypto-1.4.0-1.uel20.noarch.rpm 108 kB/s | 181 kB 00:01
(3/17): python3-bcrypt-3.2.0-1.uel20.x86_64.rpm 8.1 kB/s | 40 kB 00:04
(4/17): python3-cffi-1.14.1-1.uel20.x86_64.rpm 25 kB/s | 236 kB 00:09
(5/17): python3-cryptography-3.3.1-1.uel20.x86_64.rpm 31 kB/s | 402 kB 00:12
(6/17): python3-invoke-1.5.0-1.uel20.01.noarch.rpm 31 kB/s | 267 kB 00:08
(7/17): python3-jinja2-2.11.2-2.uel20.noarch.rpm 22 kB/s | 223 kB 00:10
(8/17): python3-jmespath-0.9.0-11.uel20.noarch.rpm 10 kB/s | 42 kB 00:04
(9/17): python3-markupsafe-1.1.1-1.uel20.x86_64.rpm 4.4 kB/s | 28 kB 00:06
(10/17): python3-paramiko-2.7.2-2.uel20.noarch.rpm 25 kB/s | 289 kB 00:11
(11/17): python3-pyasn1-0.4.8-1.uel20.noarch.rpm 17 kB/s | 136 kB 00:07
(12/17): python3-pycparser-2.20-2.uel20.noarch.rpm 28 kB/s | 155 kB 00:05
(13/17): python3-pynacl-1.2.1-5.uel20.x86_64.rpm 13 kB/s | 76 kB 00:05
(14/17): python3-pyyaml-5.3.1-4.uel20.x86_64.rpm 31 kB/s | 188 kB 00:06
(15/17): sshpass-1.06-8.uel20.x86_64.rpm 5.3 kB/s | 24 kB 00:04
(16/17): python3-babel-2.8.0-3.uel20.noarch.rpm 35 kB/s | 6.1 MB 02:58
(17/17): ansible-2.9.11-1.uel20.noarch.rpm 87 kB/s | 17 MB 03:22
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 130 kB/s | 26 MB 03:22
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing : 1/1 Installing : python3-jmespath-0.9.0-11.uel20.noarch 1/17 Installing : sshpass-1.06-8.uel20.x86_64 2/17 Installing : python3-pyyaml-5.3.1-4.uel20.x86_64 3/17 Installing : python3-pycparser-2.20-2.uel20.noarch 4/17 Installing : python3-cffi-1.14.1-1.uel20.x86_64 5/17 Installing : python3-bcrypt-3.2.0-1.uel20.x86_64 6/17 Installing : python3-pyasn1-0.4.8-1.uel20.noarch 7/17 Installing : python3-markupsafe-1.1.1-1.uel20.x86_64 8/17 Installing : python3-invoke-1.5.0-1.uel20.01.noarch 9/17 Installing : python3-babel-2.8.0-3.uel20.noarch 10/17 Installing : python3-jinja2-2.11.2-2.uel20.noarch 11/17 Installing : python3-asn1crypto-1.4.0-1.uel20.noarch 12/17 Installing : python3-cryptography-3.3.1-1.uel20.x86_64 13/17 Installing : libsodium-1.0.18-1.uel20.x86_64 14/17 Installing : python3-pynacl-1.2.1-5.uel20.x86_64 15/17 Installing : python3-paramiko-2.7.2-2.uel20.noarch 16/17 Installing : ansible-2.9.11-1.uel20.noarch 17/17 Running scriptlet: ansible-2.9.11-1.uel20.noarch 17/17 Verifying : ansible-2.9.11-1.uel20.noarch 1/17 Verifying : libsodium-1.0.18-1.uel20.x86_64 2/17 Verifying : python3-asn1crypto-1.4.0-1.uel20.noarch 3/17 Verifying : python3-babel-2.8.0-3.uel20.noarch 4/17 Verifying : python3-bcrypt-3.2.0-1.uel20.x86_64 5/17 Verifying : python3-cffi-1.14.1-1.uel20.x86_64 6/17 Verifying : python3-cryptography-3.3.1-1.uel20.x86_64 7/17 Verifying : python3-invoke-1.5.0-1.uel20.01.noarch 8/17 Verifying : python3-jinja2-2.11.2-2.uel20.noarch 9/17 Verifying : python3-jmespath-0.9.0-11.uel20.noarch 10/17 Verifying : python3-markupsafe-1.1.1-1.uel20.x86_64 11/17 Verifying : python3-paramiko-2.7.2-2.uel20.noarch 12/17 Verifying : python3-pyasn1-0.4.8-1.uel20.noarch 13/17 Verifying : python3-pycparser-2.20-2.uel20.noarch 14/17 Verifying : python3-pynacl-1.2.1-5.uel20.x86_64 15/17 Verifying : python3-pyyaml-5.3.1-4.uel20.x86_64 16/17 Verifying : sshpass-1.06-8.uel20.x86_64 17/17 Installed:ansible-2.9.11-1.uel20.noarch libsodium-1.0.18-1.uel20.x86_64 python3-asn1crypto-1.4.0-1.uel20.noarch python3-babel-2.8.0-3.uel20.noarch python3-bcrypt-3.2.0-1.uel20.x86_64 python3-cffi-1.14.1-1.uel20.x86_64 python3-cryptography-3.3.1-1.uel20.x86_64 python3-invoke-1.5.0-1.uel20.01.noarch python3-jinja2-2.11.2-2.uel20.noarch python3-jmespath-0.9.0-11.uel20.noarch python3-markupsafe-1.1.1-1.uel20.x86_64 python3-paramiko-2.7.2-2.uel20.noarchpython3-pyasn1-0.4.8-1.uel20.noarch python3-pycparser-2.20-2.uel20.noarch python3-pynacl-1.2.1-5.uel20.x86_64 python3-pyyaml-5.3.1-4.uel20.x86_64 sshpass-1.06-8.uel20.x86_64 Complete!
[root@server1 ~]#
2.对自己做免密配置
之前已生成密钥 对这一块不了解的请查看 【LIUNX】机器互访:免密登陆
[root@server1 ~]# ssh-copy-id root@server1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'server1 (192.168.122.1)' can't be established.
ECDSA key fingerprint is SHA256:TWajqYQ0cY7n48NQANig8R2qvjcRIDQagMvYot7yIT4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
UnionTech OS Server 20 1050e
root@server1's password: Number of key(s) added: 1Now try logging into the machine, with: "ssh 'root@server1'"
and check to make sure that only the key(s) you wanted were added.
[root@server1 ~]# ssh root@server1
UnionTech OS Server 20 1050eAuthorized users only. All activities may be monitored and reported.
Last login: Tue Nov 14 15:18:38 2023 from 192.168.3.1Welcome to 4.19.90-2201.4.0.0135.up1.uel20.x86_64System information as of time: 2023年 11月 14日 星期二 20:53:43 CSTSystem load: 0.01
Processes: 202
Memory used: 58.1%
Swap used: 0.2%
Usage On: 10%
IP address: 192.168.3.5
IP address: 192.168.122.1
IP address: 172.17.0.1
Users online: 3[root@server1 ~]# exit
注销
Connection to server1 closed.
[root@server1 ~]# ssh root@server2
UnionTech OS Server 20 1050eAuthorized users only. All activities may be monitored and reported.
Last login: Tue Nov 14 15:18:29 2023 from 192.168.122.1Welcome to 4.19.90-2201.4.0.0135.up1.uel20.x86_64System information as of time: 2023年 11月 14日 星期二 20:53:41 CSTSystem load: 0.00
Processes: 121
Memory used: 13.2%
Swap used: 0.0%
Usage On: 6%
IP address: 192.168.122.2
Users online: 2
免密已经成功了
3.修改ansiable host配置对服务器进行分组
- 在/etc/ansible/hosts最下方新增一下组别和服务器名
[web]
server1
[db]
server2
结果如下
[root@server1 ~]# vi /etc/ansible/hosts
[root@server1 ~]# cat /etc/ansible/hosts
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
# - Comments begin with the '#' character
# - Blank lines are ignored
# - Groups of hosts are delimited by [header] elements
# - You can enter hostnames or ip addresses
# - A hostname/ip can be a member of multiple groups# Ex 1: Ungrouped hosts, specify before any group headers.## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10# Ex 2: A collection of hosts belonging to the 'webservers' group## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110# If you have multiple hosts following a pattern you can specify
# them like this:## www[001:006].example.com# Ex 3: A collection of database servers in the 'dbservers' group## [dbservers]
##
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57# Here's another example of host ranges, this time there are no
# leading 0s:## db-[99:101]-node.example.com
[web]
server1
[db]
server2
4.测试:对所有服务器进行ping命令
root@server1 ~]# ansible all -m ping
[WARNING]: Platform linux on host server2 is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
server2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"
}
[WARNING]: Platform linux on host server1 is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
server1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"
}
5.写playbook
vi install_php_fpm.yml
内容如下:
---
- hosts: webuser: roottasks: - name: install php-fpmyum: name: php-fpmstate: present- name: start php-fpmservice: name: php-fpmstate: startedenable: yes
注意:yml文件每行的前面不能用tab只能使用空格
[root@server1 ~]# vi install_php_fpm.yml
[root@server1 ~]# cat install_php_fpm.yml
---
- hosts: webtasks:- name: install phpyum:name: "{{item}}"state: presentloop:- php-fpm- samba- name: start phpservice:name: php-fpmstate: startedenabled: yes- name: start smbservice:name: smbstate: startedenabled: yes
- hosts: dbtasks:- name: install mariadbyum:name: mariadb-serverstate: present- name: start mariadbservice:name: mariadbstate: startedenabled: yes
[root@server1 ~]# ansible-playbook --syntax-check install_php_fpm.yml playbook: install_php_fpm.yml
ansible-playbook --syntax-check验证脚本是否正确
命令格式如下:
ansible-playbook --syntax-check xxx.yml
6.执行我们写的playbook脚本
[root@server1 ~]# ansible-playbook install_php_fpm.yml -e "ansible_python_interpreter=/usr/bin/python3"PLAY [web] **************************************************************************************************************************************************************************************************************************************TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************************
ok: [server1]TASK [install php] ******************************************************************************************************************************************************************************************************************************
ok: [server1] => (item=php-fpm)
changed: [server1] => (item=samba)TASK [start php] ********************************************************************************************************************************************************************************************************************************
ok: [server1]TASK [start smb] ********************************************************************************************************************************************************************************************************************************
changed: [server1]PLAY [db] ***************************************************************************************************************************************************************************************************************************************TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************************
ok: [server2]TASK [install mariadb] **************************************************************************************************************************************************************************************************************************
changed: [server2]TASK [start mariadb] ****************************************************************************************************************************************************************************************************************************
changed: [server2]PLAY RECAP **************************************************************************************************************************************************************************************************************************************
server1 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
server2 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 [root@server1 ~]#
命令格式如下:
ansible-playbook xxx.yml
7.验证
[root@server1 ~]# rpm -qc php-fpm
/etc/httpd/conf.d/php.conf
/etc/logrotate.d/php-fpm
/etc/nginx/conf.d/php-fpm.conf
/etc/nginx/default.d/php.conf
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
[root@server1 ~]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process ManagerLoaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-11-15 00:14:45 CST; 4min 33s agoMain PID: 22863 (php-fpm)Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"Tasks: 6Memory: 16.1MCGroup: /system.slice/php-fpm.service├─22863 php-fpm: master process (/etc/php-fpm.conf)├─22864 php-fpm: pool www├─22865 php-fpm: pool www├─22866 php-fpm: pool www├─22867 php-fpm: pool www└─22868 php-fpm: pool www11月 15 00:14:45 server1 systemd[1]: Starting The PHP FastCGI Process Manager...
11月 15 00:14:45 server1 systemd[1]: Started The PHP FastCGI Process Manager.
[root@server1 ~]#
相关文章:
【Liunx】部署Ansible自动化运维工具
Ansible自动化运维工具 概述安装部署1.通过yum下载Ansible2.对自己做免密配置3.修改ansiable host配置对服务器进行分组4.测试:对所有服务器进行ping命令5.写playbook6.执行我们写的playbook脚本7.验证 概述 ansible是新出现的自动化运维工具,基于Pytho…...
Python的基础语法
1. 注释:在Python中,使用井号(#)表示单行注释,三个单引号()或三个双引号(""")表示多行注释。 2. 变量:在Python中,不需要声明变量…...

Skywalking流程分析_8(拦截器插件的加载)
前言 在之前的文章中我们将,静态方法、构造方法、实例方法的增强逻辑都分析完毕,但在增强前,对于拦截类的加载是至关重要的,下面我们就来详细的分析 增强插件的加载 静态方法增强前的加载 //clazz 要修改的字节码的原生类 Sta…...

智能AI系统ChatGPT网站源码+支持OpenAI DALL-E3文生图+支持ai绘画(Midjourney)/支持GPT全模型+国内AI全模型
一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

腾讯云服务器可用区是什么意思?可用区选择方法
腾讯云服务器可用区是什么意思?云服务器可用区如何选择?可用区是指在同一个地域内电力和网络相互独立的区域,可用区可以做到故障隔离,所以可用区存在的意义在于构建高可用、高容灾应用,将应用部署在不同可用区内&#…...
Jupyter运行显存爆炸,明明上一个单元格已经运行完毕为什么还是会炸?
问题再现 上一个单元格运行完了train(),我想要用模型输出做点东西,可是提醒我显存不够; 在命令行中查看显存占用情况,发现4张卡都占满了,可真是太厉害了! 解决方案 查看原来写的validate(),发…...
【ICE】webrtc lite 1:cmake构建
p2ptransportchannel 是 ICE 实现基于此实现了DTLTransport而前者是独立的模块。依赖库较少主要是ssl absl OpenSSL Protobuf 可选 absl webrtc 不支持大端 :big endian architectures defined in WebRTC’s arch.h D_WINSOCKAPI_ 用来做啥? 以下编译选项: add_compile_opti…...
国内最受欢迎电商API接口调用淘宝商品详情API接口数据
国内实用的API接口 国内最受欢迎的7大API供应平台对比和介绍 本文将介绍7款API供应平台:聚合数据、百度APIStore、Apix、数说聚合、通联数据、HaoService、datasift 。排名不分先后! 免费实用的API接口 第一部分 1、电商数据(API数据接口_开…...

第五篇 基于JSP 技术的网上购书系统——主页面和登录页面实现(网上商城、仿淘宝、当当、亚马逊)
目录 1.系统主界面 1.1功能说明 1.2界面设计 1.3处理流程 1.4 数据来源和算法 1.4.1数据来源 1.4.2查询条件 1.4.3表间关系 1.4.4相关sql实例 2.系统登陆后界面 2.1功能说明 2.2界面设计 2.3处理流程 2.4数据来源和算法 2.4.1数据来源 2.4.2查询条件 2.4.…...

【 云原生 | K8S 】kubeadm 部署Kubernetes集群
目录 1 环境准备 2 所有节点安装docker 3 所有节点安装kubeadm,kubelet和kubectl 4 部署K8S集群 4.1 查看初始化需要的镜像 4.2 初始化kubeadm 4.3 设定kubectl 4.4 所有节点部署网络插件flannel master(2C/4G,cpu核心数要求大于2&am…...
微信小程序rich-text 文本首行缩进和图片居中和富文本rich-text 解析多个空格不成功 nbsp
微信小程序开发使用rich-text组件渲染html格式的代码,常常因为不能自定义css导致文本不能缩进,以及图片不能居中等问题,这里可以考虑使用js的replace方法,替换字符串,然后在渲染的同时加载行内样式。 //获取字符串的图…...
uniapp 设置重写uni-body-page样式,输入字母转大写,条形码扫描
uniapp 设置重写uni-body-page样式,输入字母转大写 一、重写uni-body-page样式 page{ }二、输入字母转大写 input标签设置样式: style"text-transform: uppercase;"绑定的值通过.toUpperCase()转大写 三、条形码扫描 // 调起条码扫描uni…...

【uniapp/uview1.x】u-upload 在 v-for 中的使用时, before-upload 如何传参
引入: 是这样一种情况,在接口获取数据之后,是一个数组列表,循环展示后,需要在每条数据中都要有图片上传,互不干扰。 分析: uview 官网中有说明,before-upload 是不加括号的ÿ…...

求组合数(笔记)
//组合数2,取值在1e5 //Cab a! / (a - b)! * b! #include<iostream> using namespace std; using ll long long; const ll N 1e4 9, mod 1e9 7; ll fact[N], infact[N];//阶乘,逆元阶乘ll qmi(ll a, ll k, ll p)//逆元模板 {ll res 1;while…...

《视觉SLAM十四讲》-- 后端 1(下)
8.2 BA 与图优化 Bundle Adjustment 是指从视觉图像中提炼出最优的 3D 模型和相机参数(内参和外参)。 8.2.1 相机模型和 BA 代价函数 我们从一个世界坐标系中的点 p \boldsymbol{p} p 出发,把相机的内外参数和畸变都考虑进来,…...

io+day8
#ifndef __SEM2 #define __SEM3 4 //声明一个创>5 int init_sem(6 7 //声明一个p操8 int P(int sem9 10 //声明一个v操11 int W(int sem12 13 //声明一个删>14 int del_sem(i15 16 #endif 1 #include <myhead.h> …...

【图像处理:OpenCV-Python基础操作】
【图像处理:OpenCV-Python基础操作】 1 读取图像2 显示图像3 保存图像4 图像二值化、灰度图、彩色图,像素替换5 通道处理(通道拆分、合并)6 调整尺寸大小7 提取感兴趣区域、掩膜8 乘法、逻辑运算9 HSV色彩空间,获取特定…...

Java 简单实现一个 TCP 回显服务器
文章目录 TCP 服务端TCP 客户端实现效果TCP 服务端(实现字典功能)总结 TCP 服务端 package network;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Soc…...
邦芒攻略:新手求职面试需要准备的材料
新手求职面试需要准备的材料,求职材料是求职者写给用人单位的信,目的是让对方了解自己,准备好充足的资料和自信的心态会让面试通过的几率大大增强,那么应聘者需要准备的材料呢,来看看吧。 1、求职信。也是求职者…...

在docker下安装suiteCRM
安装方法: docker-hub来源:https://hub.docker.com/r/bitnami/suitecrm curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml//然后可以在docker-compose.yml文件里修…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...