HCIP-OpenStack

1、OpenStack概述

OpenStack是一种云操作系统,OpenStack是虚拟机、裸金属和容器的云基础架构。可控制整个数据中心的大型计算、存储和网络资源池,所有资源都通过API或Web界面进行管理。
为什么称OpenStack是云操作系统?
云一般指云计算,聚焦于IT能力服务化,达到按需使用、按量计费;
操作系统的功能主要分为资源抽象(比如底层资源计算、存储、网络抽象为统一的接口提供给上层的应用,上层的应用基于此接口去调用)、资源分配与负载调度、应用生命周期管理、系统运维和人机交互,OpenStack具备以上能力,所以OpenStack可以称为云操作系统。
OpenStack既是一个社区,也是一个项目和一个开源软件,作为一个开源的云计算管理平台,OpenStack由几个主要的组件组合起来完成具体工作。OpenStack通过一组相互关联的服务提供基础设施即服务 (IaaS)解决方案,每个服务都提供了一个应用程序编程接口 (API)来促进这种集成。
OpenStack社区:https://www.openstack.org/
在这里插入图片描述
在这里插入图片描述
OpenStack优先考虑如何将计算、存储、网络领域的各类资源抽象为资源池。在此基础上,对资源池内的各类逻辑对象实施控制操作,并将控制操作包装成面向用户的服务。
在这里插入图片描述
OpenStack只是构建云计算的关键组件,为了构建云计算,还需要很多东西:
在这里插入图片描述
OpenStack是框架:以OpenStack为框架,将计算、存储、网络、管理、运营、运维等多个领域的软硬件产品组件整合在一起,共同组成面向业务场景的整体解决方案。
Cloud BSS:Cloud Business Support System,云业务支撑系统。
Cloud OSS:Cloud Operation Support System ,云运营支撑系统。
云计算与虚拟化的关键区别:
云计算的特点是IT能力的服务化,按需使用,按量计费,多租户隔离等。
虚拟化的特点是环境隔离,资源复用,降低隔离损耗,提升运行效率,提供高级虚拟化特性等。
在这里插入图片描述
AWS:Amazon Web Services,亚马逊云服务,AWS是由亚马逊公司提供的web服务,是一个让用户可以租用云电脑运行所需应用的系统。
API:Application Programming Interface,应用程序接口,又称应用编程接口,是指应用程序之间为了保证互相通讯所提供的一系列特殊规则和要求。
EC2:Elastic Computing Cloud,弹性计算云,是由亚马逊公司提供的Web服务,是一个让用户可以租用云电脑运行所需应用的系统。
IaaS:Infrastructure as a Service,基础设施即服务。指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。
OpenStack逻辑架构:
每个OpenStack服务内部是由多个进程组成。所有服务(Keystone除外)都至少有一个API进程,负责监听API请求,对请求进行预处理并将它们传递给服务的其他部分。
每个OpenStack服务的进程之间的通信,使用AMQP消息代理。服务的状态存储在数据库中。在部署和配置OpenStack云时,管理员可以在多种消息代理和数据库解决方案中进行选择,例如RabbitMQ、MySQL、MariaDB和SQLite。
用户可以通过Web用户界面、命令行客户端以及通过浏览器插件或curl等工具发出API请求来访问OpenStack。
在这里插入图片描述
生产环境中,一般会有专门的OpenStack部署服务节点、控制节点、计算节点、网络节点和存储服务节点等。生产环境的控制节点建议三台以上,其他节点按需求部署。
OpenStack核心服务简介:
1、界面管理服务Horizon
提供基于Web的控制界面,使云管理员和用户能够管理各种OpenStack资源和服务。首次出现在OpenStack的“Essex”版本中。依赖Keystone认证服务。
2、认证服务Keystone
提供身份验证,服务发现和分布式多租户授权。支持LDAP、OAuth、OpenID Connect、SAML和SQL。首次出现在OpenStack的“Essex”版本中。为其他OpenStack服务提供认证支持。
3、镜像服务Glance
提供发现、注册和检索虚拟机镜像功能。提供的虚拟机实例镜像可以存放在不同地方,例如本地文件系统、Swift对象存储、Cinder块存储等。首次出现在OpenStack的“Bexar”版本中。依赖Keystone认证服务。
4、计算服务Nova
提供大规模、可扩展、按需自助服务的计算资源。支持管理裸机,虚拟机和容器。首次出现在OpenStack的“Austin”版本中。依赖Keystone认证服务、Neutron网络服务和Glance镜像服务。
5、块存储服务Cinder
提供块存储服务,为虚拟机实例提供持久化存储。调用不同存储接口驱动,将存储设备转化成块存储池,用户无需了解存储实际部署位置或设备类型。首次出现在OpenStack的“Folsom”版本中。依赖Keystone认证服务。
6、对象存储服务Swift
提供高度可用、分布式、最终一致的对象存储服务。可以高效、安全且廉价地存储大量数据。非常适合存储需要弹性扩展的非结构化数据。首次出现在OpenStack的“Austin”版本中。为其他OpenStack服务提供对象存储服务。
7、网络服务Neutron
负责管理虚拟网络,专注于为OpenStack提供网络即服务。首次出现在OpenStack的“Folsom”版本中。依赖Keystone认证服务。
8、编排服务Heat
为云应用程序编排OpenStack基础架构资源。提供OpenStack原生REST API和CloudFormation兼容的查询API。首次出现在OpenStack的“Havana”版本中。依赖Keystone认证服务。
9、计量服务Ceilometer
Ceilometer项目是一项数据收集服务,提供跨当前OpenStack核心组件规范化和转换数据的能力。Ceilometer的数据可为所有OpenStack核心组件提供客户计费、资源跟踪和警报功能。首次出现在OpenStack的“Havana”版本中。
在OpenStack中创建虚拟机实例,资源需求和物理PC类似。
在这里插入图片描述
在这里插入图片描述

2、OpenStack界面管理服务Horizon

界面管理服务Horizon:提供基于Web的控制界面,使云管理员和用户能够管理各种OpenStack资源和服务。首次出现在OpenStack的“Essex”版本中。依赖Keystone认证服务。
Horizon属于全局组件之一,提供一个Web管理界面,与OpenStack其他服务交互。管理员与用户可以通过Horizon实现资源的管理、实例的生命周期管理以及连接插件等。
Horizon是OpenStack的一个子项目,用于提供一个web前端控制台(称为Dashboard),以此来展示OpenStack的功能。通常情况下,我们都是从Horizon、Dashboard开始来了解OpenStack。实际上,Horizon并不会为OpenStack添加任何一个新的功能,它只是使用了OpenStack部分API功能,因此,我们可以扩展Horizon的功能,扩展Dashboard。
在这里插入图片描述
Horizon核心价值:
1、核心支持:对所有核心OpenStack项目提供开箱即用的支持。
2、可扩展性:每个开发者都能增加组件。
3、易于管理:架构和代码易于管理,浏览方便。
4、视图一致:始终保持视觉和交互范式一致性。
5、易于使用:用户界面友好,提供人们想要使用的强大界面。
6、可兼容性:API强调向后兼容性。
Horizon与其他服务的交互关系:
Horizon​唯一依赖的服务是Keystone认证服务。Horizon​可以与其他服务结合使用,例如镜像服务,计算服务和网络服务。Horizon​​还可以在有独立服务(如对象存储)的环境中使用。
用户可以通过浏览器使用Horizon提供的控制面板来访问云平台的计算、存储和网络资源,比如启动虚拟机实例、创建子网、分配IP地址、设置访问控制等。
在这里插入图片描述
基于Django的Horizon体系结构如图,底层API模块openstack_dashboard.api将OpenStack其他项目的API封装起来以供Horizon其他模块调用。
Horizon将页面上的所有元素模块化,并将表单、表格等一些网页中的常见元素全部封装成Python类,如上图所示的View模块。每个这样的组件都有自己对应的HTML模板,在渲染整个页面时,Horizon会先找到当前页面包含多少组件,并将各个组件分别渲染成一段HTML片段,最后将它们拼接成一个完整的HTML页面返回给浏览器。
Horizon采用了Django框架,简单来说Horizon是一个基于Django的网站,同时Horizon采用了许多流行的前端技术来扩展其功能。
Django的设计哲学中,业务逻辑与表现逻辑是分开的,Django视图是代表业务逻辑的,模板系统则被视为控制表现与表现逻辑相关的工具。
Horizon秉承了这种哲学,遵循DRY原则,专注于代码的高度可用,致力于支持可扩展的控制面板的框架,尽可能地重复利用已有的模板开发和管理OpenStack网站。
Horizon面板设计分为3层:Dashboard --> PanelGroup --> Panel
Django是一种流行的基于Python语言的开源Web应用程序框架。Django遵循DRY(Don’t Repeat Yourself)原则,专注于代码的高度可重用。web开发:网站程序基本有三部分组成,业务逻辑代码(Python),静态文件(js/css),模板(Python中的jinja,mako,nodejs中有jade),用户向webserver发起请求之后,server程序找到当前url对应的模板,填充模板变量(输出成字符串形式的html源码),返回给浏览器,浏览器渲染页面。
在这里插入图片描述
如图所示,整个页面主要由各个Dashboard、PanelGroup、Panel,以及单击Panel后渲染的页面组成。当前的Dashboard是“项目”,PanelGroup是“项目”下的“计算”,Panel是“计算”下的“概况”。右侧区域就是单击Panel“概况”渲染的页面部分。
项目是云中的组织单位,也称为租户。每个用户都是一个或多个项目的成员。在项目中,用户创建和管理实例。在项目界面,用户可以查看和管理选定项目中的资源,包括实例、镜像、密钥对和主机组。
在这里插入图片描述
管理员界面提供管理员可以管理的资源,例如计算、存储、网络和系统设置等。
在这里插入图片描述
身份管理界面提供认证管理功能。

3、OpenStack认证服务Keystone

认证服务Keystone:提供身份验证,服务发现和分布式多租户授权。支持LDAP、OAuth、OpenID Connect、SAML和SQL。首次出现在OpenStack的“Essex”版本中。为其他OpenStack服务提供认证支持。

1、linux模板制作

使用minimal最小化安装Stream-8,最小化安装用# ip a查看ip
在这里插入图片描述
制作Linux 虚拟机模板,后面克隆(完整克隆)出计算节点compute和控制节点controller,https://blog.51cto.com/cloudcs/5258769
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、修改网卡信息 # cd /etc/sysconfig/network-scripts/  # cat ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens160
DEVICE=ens160
ONBOOT=yes
2、清除密钥信息 # cd /etc/ssh
# rm -rf ssh_host_*
3、清除 Machine ID # cat /etc/machine-id 
000fca8b6e184c94adbae8a120ce776a
# cat /dev/null > /etc/machine-id 
# cat /etc/machine-id 
4、最后关闭虚拟机,# init 0 关机(开机上述文件又会自动生成)
关机状态下进行克隆虚拟机,通过模板完整克隆出两台完整复制的虚拟机。

在这里插入图片描述
开启两台虚拟机(controller和compute),分别修改主机名和配置静态IP
在这里插入图片描述
在这里插入图片描述

# hostnamectl set-hostname controller
# cd /etc/sysconfig/network-scripts/
# vi ifcfg-ens160 
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=10.1.1.50      10.1.1.60
NETMASK=255.255.255.0
GATEWAY=10.1.1.2
DNS1=10.1.1.2
重启控制节点和计算节点(controller和compute)再拍摄快照

在这里插入图片描述

2、OpenStack环境搭建(在线yum源)

Openstack环境搭建有很多种方法:
1.手工搭建,一个组件一个组件去安装。
2.通过工具 packstack 生成一个应答文件,编写应答文件,packstack调用应答文件去安装openstack环境。
3.HCS huaweicloud stack deploy 工具,私有云部署工具,通过安装一个精简版的openstack(heat编排服务),通过该服务去一键式安装整个云环境。
https://blog.51cto.com/cloudcs/6267456 搭建 openstack 最麻烦的是 yum 源问题
8版本用NetworkManager替代了network,仍想用ntwork需安装network服务,# yum install network-scripts -y

以下内容控制节点和计算节点都要操作
关闭防火墙和selinux和NetworkManager
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vi /etc/selinux/config  修改SELINUX=disabled
# systemctl stop NetworkManager
# systemctl disable NetworkManager
配置ip和主机名的映射,
# vi /etc/hosts
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.1.1.50 controller
10.1.1.60 compute
安装基础软件包(用自带的在线yum源)
yum install -y vim net-tools bash-completion chrony.x86_64 centos-release-openstack-victoria.noarch
安装network服务,# yum install network-scripts -y
配置ntp时间同步
# vim  /etc/chrony.conf
pool ntp.aliyun.com iburst
# systemctl start chronyd
# systemctl enable chronyd
配置yum源(先把原有的备份后清空)
# cd /etc/yum.repos.d/      # rm -rf *
# cat cloud.repo [highavailability]
name=CentOS Stream 8 - HighAvailability
baseurl=https://mirrors.aliyun.com/centos/8-stream/HighAvailability/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[nfv]
name=CentOS Stream 8 - NFV
baseurl=https://mirrors.aliyun.com/centos/8-stream/NFV/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[rt]
name=CentOS Stream 8 - RT
baseurl=https://mirrors.aliyun.com/centos/8-stream/RT/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[resilientstorage]
name=CentOS Stream 8 - ResilientStorage
baseurl=https://mirrors.aliyun.com/centos/8-stream/ResilientStorage/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[extras-common]
name=CentOS Stream 8 - Extras packages
baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/x86_64/extras-common/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[extras]
name=CentOS Stream  - Extras
mirrorlist=http://mirrorlist.centos.org/?release=&arch=&repo=extras&infra=
#baseurl=http://mirror.centos.org///extras//os/
baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[centos-ceph-pacific]
name=CentOS - Ceph Pacific
baseurl=https://mirrors.aliyun.com/centos/8-stream/storage/x86_64/ceph-pacific/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage[centos-rabbitmq-38]
name=CentOS-8 - RabbitMQ 38
baseurl=https://mirrors.aliyun.com/centos/8-stream/messaging/x86_64/rabbitmq-38/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging[centos-nfv-openvswitch]
name=CentOS Stream 8 - NFV OpenvSwitch
baseurl=https://mirrors.aliyun.com/centos/8-stream/nfv/x86_64/openvswitch-2/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
module_hotfixes=1[baseos]
name=CentOS Stream 8 - BaseOS
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[appstream]
name=CentOS Stream 8 - AppStream
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[centos-openstack-victoria]
name=CentOS 8 - OpenStack victoria
baseurl=https://mirrors.aliyun.com/centos/8-stream/cloud/x86_64/openstack-victoria/
#baseurl=https://repo.huaweicloud.com/centos/8-stream/cloud/x86_64/openstack-yoga/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
module_hotfixes=1[powertools]
name=CentOS Stream 8 - PowerTools
#mirrorlist=http://mirrorlist.centos.org/?release=&arch=&repo=PowerTools&infra=
baseurl=https://mirrors.aliyun.com/centos/8-stream/PowerTools/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial# yum clean all  清理缓存
# yum makecache  重新建立缓存
# yum repolist all  列出yum仓库

只在控制节点上安装并配置packstack
安装packstack工具,# yum install -y openstack-packstack
[root@controller ~]# packstack --help |grep ans 找到生成应答文件的参数,–gen-answer-file
[root@controller ~]# packstack --gen-answer-file=yingda.txt 生成应答文件
编辑应答文件,# vim yingda.txt
修改以下参数内容
CONFIG_COMPUTE_HOSTS=10.1.1.50,10.1.1.60
CONFIG_KEYSTONE_ADMIN_PW=redhat
CONFIG_PROVISION_DEMO=n
CONFIG_HEAT_INSTALL=y
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:ens160
需要注意的是 br-ex 后面对应的网卡名称,有的网卡是ens33,我这里是ens160
根据应答文件安装openstack,# packstack --answer-file=yingda.txt
在这里插入图片描述
8版本用NetworkManager替代了network,仍想用ntwork需安装network服务,# yum install network-scripts -y 前面把NetworkManager禁用了后面启用network服务。因关闭 NetworkManager 服务,会导致节点重启后网络无法自动启用,也会导致 openstack 组件异常,所以启用 network 来替代 NetworkManager 服务。
控制节点和计算节点都开启network服务,# systemctl start network # systemctl enable network
控制节点和计算节点都开启网络服务后分别拍摄快照
在这里插入图片描述
用户admin,密码忘记了去应答文件中找。
在这里插入图片描述

3、OpenStack环境搭建(本地yum源)

所有流程和在线yum源是一样的,唯独配置yum源不一样。
在这里插入图片描述
在计算节点上开启httpd服务[root@compute ~]# yum install -y httpd # systemctl start httpd # systemctl enable httpd
[root@compute ~]# mkdir /iso 后将镜像放置该目录下[root@compute ~]# ls /iso
CentOS-Stream-8-OPS-Victoria.iso CentOS-Stream-8-x86_64-20221222-dvd1.iso
[root@compute ~]# cd /var/www/html/ [root@compute html]# mkdir os vic
[root@compute html]# vim /etc/fstab 镜像文件系统类型为iso9660
/iso/CentOS-Stream-8-x86_64-20221222-dvd1.iso /var/www/html/os iso9660 defaults 0 0
/iso/CentOS-Stream-8-OPS-Victoria.iso /var/www/html/vic iso9660 defaults 0 0
[root@compute html]# mount -a 刷新
[root@compute html]# df -Th
在这里插入图片描述
控制节点和计算节点都要配置本地yum源

cat <<EOF > /etc/yum.repos.d/cloudcs.repo
[highavailability]
name=CentOS Stream 8 - HighAvailability
baseurl=http://192.168.100.152/vic/highavailability/
gpgcheck=0[nfv]
name=CentOS Stream 8 - NFV
baseurl=http://192.168.100.152/vic/nfv/
gpgcheck=0[rt]
name=CentOS Stream 8 - RT
baseurl=http://192.168.100.152/vic/rt/
gpgcheck=0[resilientstorage]
name=CentOS Stream 8 - ResilientStorage
baseurl=http://192.168.100.152/vic/resilientstorage/
gpgcheck=0[extras-common]
name=CentOS Stream 8 - Extras packages
baseurl=http://192.168.100.152/vic/extras-common/
gpgcheck=0[extras]
name=CentOS Stream $releasever - Extras
baseurl=http://192.168.100.152/vic/extras/
gpgcheck=0[centos-ceph-pacific]
name=CentOS - Ceph Pacific
baseurl=http://192.168.100.152/vic/centos-ceph-pacific/
gpgcheck=0[centos-rabbitmq-38]
name=CentOS-8 - RabbitMQ 38
baseurl=http://192.168.100.152/vic/centos-rabbitmq-38/
gpgcheck=0[centos-nfv-openvswitch]
name=CentOS Stream 8 - NFV OpenvSwitch
baseurl=http://192.168.100.152/vic/centos-nfv-openvswitch/
gpgcheck=0[baseos]
name=CentOS Stream 8 - BaseOS
baseurl=http://192.168.100.152/os/BaseOS/
gpgcheck=0[appstream]
name=CentOS Stream 8 - AppStream
baseurl=http://192.168.100.152/os/AppStream/
gpgcheck=0[centos-openstack-victoria]
name=CentOS 8 - OpenStack victoria
baseurl=http://192.168.100.152/vic/centos-openstack-victoria/
gpgcheck=0[powertools]
name=CentOS Stream 8 - PowerTools
baseurl=http://192.168.100.152/vic/powertools/
gpgcheck=0
EOF

新的Stream-8的isoj镜像如CentOS-Stream-8-x86_64-latest-dvd1.iso更新了一些新特性,导致本地yum源安装openstack-packstack失败,本地yum源加module_hotfixes=1参数也不行,得用CentOS-Stream-8-OPS-Victoria.iso和CentOS-Stream-8-x86_64-20221222-dvd1.iso配套使用。
在这里插入图片描述

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

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

相关文章

【MySQL--->数据类型】

文章目录 [TOC](文章目录) 一、数据类型分类二、整型类型三、bit(位)类型四、float类型五、decimal类型六、char和varchar类型1.char类型2.varchar3.char与varchar的区别 七、日期与时间类型八、enum和set 一、数据类型分类 二、整型类型 数值类型有数据存储上限,而且每个类型都…

C语言暑假刷题冲刺篇——day1

目录 一、选择题 二、编程题 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C语言每日一练 ✨其他专栏&#xff1a;代码小游戏C语言初阶&#x1f91d;希望作者的文章能对你…

【计算机视觉|生成对抗】改进的生成对抗网络(GANs)训练技术

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Improved Techniques for Training GANs 链接&#xff1a;[1606.03498v1] Improved Techniques for Training GANs (arxiv.org) 摘要 本文介绍了一系列应用于生成对抗网络&#xff08;G…

数据可视化工具的三大类报表制作流程分享

电脑&#xff08;pc&#xff09;、移动、大屏三大类型的BI数据可视化报表制作步骤基本相同&#xff0c;差别就在于尺寸调整和具体的报表布局。这对于采用点击、拖拉拽方式来制作报表的奥威BI数据可视化工具来说就显得特别简单。接下来&#xff0c;我们就一起看看不这三大类型的…

ES中倒排索引机制

在ES的倒排索引机制中有四个重要的名词&#xff1a;Term、Term Dictionary、Term Index、Posting List。 Term&#xff08;词条&#xff09;&#xff1a;词条是索引里面最小的存储和查询单元。一段文本经过分析器分析以后就会输出一串词条。一般来说英文语境中词条是一个单词&a…

wps设置一键标题字体和大小

参考 wps设置一键标题字体和大小&#xff1a;https://www.kafan.cn/A/7v5le1op3g.html 统一一键设置

数据结构:力扣刷题

题一&#xff1a;删除有序数组中的重复项 给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的…

Intel汇编和ATT汇编的区别?

一、前缀不同 在 Intel 语法中&#xff0c;没有寄存器前缀或立即前缀。 然而&#xff0c;在 AT&T 中&#xff0c;寄存器的前缀是“%”&#xff0c;而 immed 的前缀是“$”。 Intel 语法十六进制或二进制即时数据分别带有“h”和“b”后缀。 此外&#xff0c;如果第一个十六…

14k字综述视觉大模型

目录 0.导读1.背景介绍1.1基础架构1.2目标函数1.2.1对比式学习1.2.2生成式学习1.3预训练1.3.1预训练数据集1.3.2微调1.3.3提示工程2.基于文本提示的基础模型2.1基于对比学习的方法2.1.1基于通用模型的对比方法2.1.2基于视觉定位基础模型的方法2.2基于生成式的方法2.3基于对比学…

安全加密框架图——Oracle安全开发者

Oracle安全开发者 ACLs 设计 ACLs&#xff08;访问控制列表&#xff09;时&#xff0c;可以根据以下思路进行设计&#xff1a; 所有者文件权限&#xff1a;确定文件的所有者能够对文件执行哪些操作&#xff0c;如读取、写入、执行等。这可以根据文件的性质和拥有者的职责来决…

Destination Host Unreachable

背景&#xff1a;物理机的IP地址是192.168.31.189&#xff0c;虚拟机的IP地址是192.168.194.130 物理机ping得通虚拟机 虚拟机ping得通外网 可是虚拟机ping不通物理机 1、报错信息 Destination Host Unreachable 2、原因 用route -n命令查看路由表发现192.168.194.0没有走网…

opencv+ffmpeg+QOpenGLWidget开发的音视频播放器demo

前言 本篇文档的demo包含了 1.使用OpenCV对图像进行处理&#xff0c;对图像进行置灰&#xff0c;旋转&#xff0c;抠图&#xff0c;高斯模糊&#xff0c;中值滤波&#xff0c;部分区域清除置黑&#xff0c;背景移除&#xff0c;边缘检测等操作&#xff1b;2.单纯使用opencv播放…

基于深度信念神经网络+长短期神经网络的降雨量预测,基于dbn-lstm的降雨量预测,dbn原理,lstm原理

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) LSTM原理 DBN-LSTM的降雨量预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,通过dbn进行无监督学习提取特征,然后长短期神经…

Android Studio实现图形验证码

源代码 源代码MainActivity 效果图32行需要修改&#xff0c;不修改会报错&#xff1a;需要常量表达式&#xff0c;我的代码已修改 点击后 MainActivity import static com.example.graphicverificationcode.RxCaptcha.TYPE.NUMBER;import android.annotation.SuppressLint; …

c++ 学习系列 -- 智能指针

一 为什么引入智能指针&#xff1f;解决了什么问题&#xff1f; C 程序设计中使用堆内存是非常频繁的操作&#xff0c;堆内存的申请和释放都由程序员自己管理。但使用普通指针&#xff0c;容易造成内存泄露&#xff08;忘记释放&#xff09;、二次释放、程序发生异常时内存泄…

Failed to execute goal org.apache.maven.plugins

原因&#xff1a; 这个文件D:\java\maven\com\ruoyi\pg-student\maven-metadata-local.xml出了问题 解决&#xff1a; 最简单的直接删除D:\java\maven\com\ruoyi\pg-student\maven-metadata-local.xml重新打包 或者把D:\java\maven\com\ruoyi\pg-student这个目录下所有文件…

汇编指令练习

1.大小比较&#xff08;循环&#xff09; start: /*mov r0,#0x9mov r1,#0xfb LoopLoop:cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0b Loop stop:b stop.end 仿真图 2. 1到100之和 start:mov r0,#0x1mov r1,#0x0b sum sum:add r1,r1,r0add r0,r0,#0x1cmp r0,#0x65beq sto…

记录每日LeetCode 617.合并二叉树 Java实现

题目描述&#xff1a; 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新二叉树。合并的规则是&#xff1a;…

Handler详解

跟Handler有关系的&#xff0c;包括Thread&#xff0c;Looper&#xff0c;Handler&#xff0c;MessageQueue Looper: 由于Looper是android包加入的类&#xff0c;而Thread是java包的类&#xff0c;所以&#xff0c;想要为Thread创建一个Looper&#xff0c;需要在线程内部调用…

iOS字体像素与磅的对应关系

注意&#xff1a;低于iOS10的系统&#xff0c;显示的字宽和字高比高于iOS10的系统小。 这就是iOS10系统发布时&#xff0c;很多app显示的内容后面出现…&#xff0c;因而出现很多app为了适配iOS10系统而重新发布新版本。 用PS设计的iOS效果图中&#xff0c;字体是以像素&#x…