文档章节

VMWare12 部署安装Mirantis OpenStack Fuel 9.0

mecisery
 mecisery
发布于 2017/06/14 14:26
字数 3284
阅读 259
收藏 2
点赞 0
评论 0

参考:1.http://download.csdn.net/download/gamers/9596542

2.http://weibo.com/p/230418936291410102wi29

3.http://blog.csdn.net/wiborgite/article/details/52953822

4.http://blog.csdn.net/titan0427/article/details/51982609

 

vmware网络配置:

 

0、前言

 

不想搭建环境,官方提供测试Fuel9.0的demo环境 http://demo.fuel-infra.org:8000(只要你电脑能上外网)默认用户名、密码admin


 

 

一、提前准备

 

Fuel9.0将会搭载Openstack_Mitaka 版本,这个版本是2016年出的最新版本。

Fuel在早先的版本中已经去掉了利用Centos来搭建Openstack的环境;

在9.0中只使用Ubuntu和Ubuntu + UCA的部署方式。

 

1.1 下载 Fuel 镜像

 

说明:Fuel镜像用于部署fuel-master,一般为BT文件,利用下载工具下载即可。

 

方法一:从官网-注册下载iso https://www.mirantis.com/software/openstack/releases/#supporte

 




 

方法二:第三方分享的iso直接下载连接 http://9f2b43d3ab92f886c3f0-e8d43ffad23ec549234584e5c62a6e24.r60.cf1.rackcdn.com/MirantisOpenStack-9.0.iso

 

 

1.2下载Fuel本地源

 

说明:Fuel镜像不同于Fuel本地源,本地源涉及共2个压缩大文件mirrors9.zip(3.01GB)和bootstraps.zip(580MB)

 

MOS9.0   本地源下载:http://pan.baidu.com/s/1gfe69iV   密码:b2m5

 

MOS9.0 bootstrap下载:http://pan.baidu.com/s/1gfc4w6n    密码:o9x4

1.3总体架构


1.4软件选择

 

官方推荐使用Virtual-box来安装部署Fuel-master节点.本实验验证选用VMware来部署效果不理想,反应用VMware来装会产生一些问题部署失败无法解决,所以在这里选择Virtual-box来进行安装部署.

虚拟机软件VirtualBox5.1.22官网下载  https://www.virtualbox.org/wiki/Downloads 

 

1.5硬件环境

 

1、官方推荐使用CPU:4核,以及内存:4G以上、10G网卡、500G物理磁盘.

2、但是在自己玩耍实验环境下,双核CPU,4G内存,1000M网卡和60G以上硬盘足够了,

3、切记的是硬盘不得小于50G,会导致安装失败.

4、当然实验环境下,如果设置为2G内存会导致安装速度缓慢、而导致最后会失败,

所以建议条件容许的情况下加大设备资源.

 

部署之前,先要配置VirtualBox三块虚拟网卡,信息如下:

VirtualBox--全局设置--网络--仅主机(Host-Only)网络(H)--

Host-Only Ethernet Adapter

IPv4: 10.20.0.10

Mask:255.255.255.0

DHCP: Unable

 

Host-Only Ethernet Adapter#2

IPv4: 172.16.0.1

Mask:255.255.255.0

DHCP: Unable

 

Host-Only Ethernet Adapter#3

IPv4: 192.168.0.1

Mask:255.255.255.0

DHCP: Unable

 

网卡信息和Fuel的网络信息要一致。如果自定义,则需要在Fuel设置里同步更改(改NetworkSetup  SecuritySetup  PXESetup),不然会部署openstack失败。

 

Fuel-master      2C+ 60GB +3网卡+2GB以上内存

Fuel-Controller   1C+120GB+3网卡+4GB

Fuel-Compute     1C+120GB+3网卡+4GB

 

二、部署Fuel-Master

2.1 创建Fuel-master虚拟机

 

新建一个虚拟机名称为Fuel-master,可自定义。设置内存大小2G

因为Fuel的底层使用的是CentOS7.2 64位,故操作系统版本选择Red Hat 64-bit


 

设置磁盘大小60GB+以上为好

 

 

创建之后,点击设置--系统--处理器2核  

 

 
设置光驱引导iso镜像,设置--存储--没有盘片--光盘图标--选择一个虚拟光盘文件--弹窗选择下载的MirantisOpenStack-9.0.iso
 

 

网卡芯片选择Intel的PRO/1000,切记混杂模式一定要设置为Allowall.并且禁用DHCP.

以前尝试过芯片选择为PCnet-PCI结果失败了。

网卡1、网卡2、网卡3配置仅主机,混杂模式:全部允许

 

 

接下来运行虚拟机,

几秒钟后会进入Fuel安装选择界面,这里选择第一项,然后系统会自动加载和安装Fuel.

一段时间后进入Fuel-Menu界面你可以在这里修改默认密码和一些设置.

在BootstrapImage选项,选择Skip building bootstrap image,

因为如果不选择的话,默认Fuel会从国外获取源,速度很慢的,会导致安装失败.

选择以后会使用本地源进行部署,后面会说明关于本地源如何下载和加载.

 

选择Saveandquit,然后这里需要等待1分钟的样子,因为这里要检查更改是否合规,检查通过后系统就会继续安装Fuel了.

 

 

经过漫长的等待,具体多久无法统计了,大概2小时就可以进入Fuel的登录界面了.此过程中切勿关闭或者重启虚拟机.任何不必要的操作都可能导致安装失败.然后会出现下面的画面,到这里Fuel-master的安装就结束了.

 


 

在浏览器打开https://10.20.0.2:8443测试一下是否安装成功.默认用户名、密码admin

如果这里没有显示Fuel的登录界面,说明安装中忽略了一些步骤,或者资源分配不足

 


 

部署完Fuel-master建议保存快照,以便日后恢复.

 

2.2 增加本地源

 

打开 /var/www/nailgun 目录,用ls发现目录下现在是没有mirrors文件夹.

因为我采用的是离线模式安装,没有从官方的链接中下载一些必要的库,所

以从国外找了一些源下载了以后放置在网盘中了.

cd /var/www/nailgun

 

解压2个文件包,传输到/var/www/nailgun目录下覆盖,有冲突的部分直接替换掉.

mirrors文件夹下有两个文件夹,bootstraps文件夹下有三个文件夹。

 

使用XFTP软件将本地源文件mirrors和bootstraps传到Fuel,具体如下图.也可以自己在PC或者

服务器上建立FTP服务器,然后利用wget命令传输文件.总之不管用什么方法都可以,只要能把

文件上传到相应的文件夹内即可.

cd /var/www/nailgun
ln -s /var/www/bootstraps/d01c72e6-83f4-4a19-bb86-6085e40416e6 active_bootstrap
fuel-createmirror

fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6
fuel-bootstrap list

运行 Fuel-createmirror命令,此命令目的是让web后台管理界面的源地址变为本地地址.

[root@fuelnailgun]#fuel-createmirror

This script is DEPRECATED. Please usefuel-mirrorutility!

Starting new HTTP connection(1):10.20.0.2

Starting new HTTP connection(1):10.20.0.2

Starting new HTTP connection(1):10.20.0.2

Starting new HTTP connection(1):10.20.0.2

Failed to open url-http://mirror.fuel-infra.org/......

......

URLError:

Starting new HTTP connection(1):10.20.0.2

Starting new HTTPconnection (1):10.20.0.2

Starting new HTTPconnection (1):10.20.0.2

Starting new HTTPconnection (1):10.20.0.2

Updating theClusterrepositories...

Updating thereleaserepositories...

Try to update theRelease 'Mitaka on Ubuntu14.04'

Try to update theRelease 'Mitaka on Ubuntu+UCA14.04'

Operations have been completedsuccessfully

 

更换本地源后和bootstrp后,查看是否有已经激活的bootstrp.

[root@fuel na.]# fuel-bootstrap activated01c72e6-83f4-4a19-bb86-6085e40416e6

 

如果这里没有激活很可能是你下载的文件损坏了.可以尝试找其他bootstrp文件来覆盖.

 

三、部署Fuel-node节点虚拟机

 

新建两个子节点虚拟机 (controller/compute),设置4G内存,120G磁盘空间.

内存设置低于4G很可能会部署失败,并且要开启VT-x和AMD-V,以便支持intel和AMD的CPU开启硬件虚拟化.如果不开启很可能会部署失败.

PS:在VM下面曾经尝试用4G内存来进行部署,结果失败很多次,但是还是成功了,需要拼人品.建议如果在VM下部署失败建议加大内存.

 

 

3个网卡,网卡1、网卡2、网卡3都配置

仅主机,混杂模式:全部允许,网卡芯片选择Intel的PRO/1000,并且禁用DHCP.

 

 

开启虚拟机后选择ubuntu_bootstrap启动.

 


 

8.0版本搭载的是Centos7 bootstrap,但是在9.0使用的是Ubuntu 14.04.4的bootstrap.

使用bootstrap引导后,我们的Fuel-master 就可以发现节点了.

 

 

四、部署Openstack

4.1 登陆

下面开始使用Fuel部署Openstack

登录https://10.20.0.2:8443/#login

 

 

4.2 搭建部署Openstack

新建Openstack环境.

 


 

Fuel 9.0 版

本去除了Centos,只保存了Ubuntu的部署方式,但是比之前多出了一个模式叫做Ubuntu+UCA(UCAuse Ubuntucloud archive as a source of packages for Openstackcomponents)

在这里我们选择Mitakaon Ubuntu 14.04

 











 

配置节点属性,如下图所示.
在此定义我们之前发现的两个节点.
 


 
设置两个node节点网络接口
将网络接口配置改变为下图的状态,鼠标拖拽模块即可改变.
这里设置错误也会导致部署失败.
 

 
更改网络default 公开 – IPRange开始172.16.0.3网关172.16.0.2
配置Fuel-master网卡enp0s8一个静态ip为172.16.0.2
 

 
更改NTPserver地址为Fuel-master的地址.
 

 
设置完成后进行网络验证,如有错误信息就按照错误提示进行修改.
 

 
定义完节点后在fuel上使用fuel node命令可以发现Pending_roles已经发生改变.
 

 
点击DeployChanges 进行部署.
 

 
这时Fuel就开始自动部署Openstack了.
第一个步骤是利用CobblerServer安装Ubuntu系统.
 

 
 
安装过程中可以看到站点的Status变为了provisioning,含义为正在部署底层系统.
并且角色也从Pending转移到roles下面了.
 

 
部署完ubuntu14.04以后,Fuel会继续部署Openstack, 这里是使用Puppet Master利用SSH协议的SCP命令将Openstack组件部署到node的.
 

 
状态已经更新为deploying.
 

 
经过漫长的等待,如下图显示,已经成功安装部署了节点.
 

 

 

4.3 登陆DashBoard Horizon

 

点击Horizon 进行登录,默认用户名密码都是admin.

 

五、开始使用Openstack

(后续有时间再补充--新浪博客排版太难用了,费时费力)

 

5.1 创建实例一

 

5.2 使用平台虚拟化

六、排错1:MOS9.0 bootstrap 离线Bulid

错误现象:

Mirantis OpenStack Fuel 9.0已安装完成,但是在Web页面提示如下错误信息。

<span style="font-size:18px;">WARNING: Failed to build the bootstrap image, see /var/log/fuel-bootstrap-image-build.log for details. Perhaps your Internet connection is broken. Please fix the problem and run `fuel-bootstrap build --activate`. While you don't activate any bootstrap - new nodes cannot be discovered and added to cluster. For m

上述错误表面,缺少bootstrap镜像,在VirtualBox创建新虚拟机给Fuel使用时要通过该镜像启动,从而Fuel才可以收集到虚拟机的如内存、CPU等信息,并在Fuel将此虚拟机识别为一个可用的Node,然后才可以在此Node上部署Openstack的组件。

 


前期准备:

 MOS9.0 bootstrap下载:http://pan.baidu.com/s/1gfc4w6n   提取码:o9x4

说明:上述网盘地址以及本文解决问题的思路来自博客http://blog.csdn.NET/qq_20154221/article/details/51906866,在参考该博客进行操作时,有一个软连接的问题导致执行失败,因此在这里更正下。

解决步骤

1、将上述网盘地址中的bootstrap下载到PC本地,并解压,解压后得到文件夹bootstraps

2、将本地bootstraps文件夹下的bootstrap_stub和d01c72e6-83f4-4a19-bb86-6085e40416e6文件夹上次到Fuel安装节点的/var/www/nailgun/bootstraps目录下。

3、将本地bootstraps文件夹下的active_bootstrap目录下的文件上传到Fuel安装节点的/var/www/nailgun/bootstraps/bootstrap_stub

4、创建软连接:ln -s /var/www/bootstraps/bootstrap_stub active_bootstrap(存在的话不需要此步骤)

5、激活bootsrtap    

[root@fuel bootstraps]#<strong> fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6</strong>  
Starting new HTTP connection (1): 10.20.0.2  
Starting new HTTP connection (1): 10.20.0.2  
Starting new HTTP connection (1): 10.20.0.2  
Starting new HTTP connection (1): 10.20.0.2  
Bootstrap image d01c72e6-83f4-4a19-bb86-6085e40416e6 has been activated.  

     6.检查是否成功

[root@fuel bootstraps]# fuel-bootstrap list  
+--------------------------------------+--------------------------------------+--------+  
| uuid                                 | label                                | status |  
+--------------------------------------+--------------------------------------+--------+  
| d01c72e6-83f4-4a19-bb86-6085e40416e6 | d01c72e6-83f4-4a19-bb86-6085e40416e6 | active |  
+--------------------------------------+--------------------------------------+--------+  

踩过的坑

参考原先博客的中直接用解压的bootstraps目录替换Fuel节点上的bootstraps目录,结果出现了如下错误:

[root@fuel nailgun]# fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6  
Starting new HTTP connection (1): 10.20.0.2  
Starting new HTTP connection (1): 10.20.0.2  
Starting new HTTP connection (1): 10.20.0.2  
Starting new HTTP connection (1): 10.20.0.2  
[Errno 21<strong>] Is a directory: '/var/www/nailgun/bootstraps/active_bootstrap'</strong>  

查看操作之前备份的目录下的内容:

[root@fuel bootstraps.bak]# ll  
total 4  
lrwxrwxrwx. 1 root root   42 Oct 27 07:13 <strong>active_bootstrap -> /var/www/nailgun/bootstraps/bootstrap_stub</strong>  
drwxr-xr-x. 2 root root 4096 Oct 27 07:13 bootstrap_stub  

七、排错2:MOS9.0 bootstrap 离线Bulid

​

Provision has failed. Failed to execute hook 'shell' Failed to run command cd / && fa_build_image --image_build_dir /var/lib/fuel/ibp --log-file /var/log/fuel-agent-env-1.log --data_driver nailgun_build_image --input_data '{"image_data": {"/boot": {"container": "gzip", "uri": "http://10.20.0.2:8080/targetimages/env_1_ubuntu_1404_amd64-boot.img.gz", "format": "ext2"}, "/": {"container": "gzip", "uri": "http://10.20.0.2:8080/targetimages/env_1_ubuntu_1404_amd64.img.gz", "format": "ext4"}}, "output": "/var/www/nailgun/targetimages", "repos": [{"name": "ubuntu", "section": "main multiverse restricted universe", "uri": "http://ftp.sjtu.edu.cn/ubuntu/", "priority": null, "suite": "trusty", "type": "deb"}, {"name": "ubuntu-updates", "section": "main multiverse restricted universe", "uri": "http://ftp.sjtu.edu.cn/ubuntu/", "priority": null, "suite": "trusty-updates", "type": "deb"}, {"name": "ubuntu-security", "section": "main multiverse restricted universe", "uri": "http://ftp.sjtu.edu.cn/ubuntu/", "priority": null, "suite": "trusty-security", "type": "deb"}, {"name": "mos", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0", "type": "deb"}, {"name": "mos-updates", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0-updates", "type": "deb"}, {"name": "mos-security", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0-security", "type": "deb"}, {"name": "mos-holdback", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0-holdback", "type": "deb"}, {"name": "Auxiliary", "section": "main restricted", "uri": "http://10.20.0.2:8080/mitaka-9.0/ubuntu/auxiliary", "priority": 1150, "suite": "auxiliary", "type": "deb"}], "packages": ["acl", "anacron", "bash-completion", "bridge-utils", "bsdmainutils", "build-essential", "cloud-init", "curl", "daemonize", "debconf-utils", "gdisk", "grub-pc", "hpsa-dkms", "hwloc", "i40e-dkms", "linux-firmware", "linux-firmware-nonfree", "linux-headers-generic-lts-trusty", "linux-image-generic-lts-trusty", "lvm2", "mcollective", "mdadm", "multipath-tools", "multipath-tools-boot", "nailgun-agent", "nailgun-mcagents", "network-checker", "ntp", "openssh-client", "openssh-server", "puppet", "python-amqp", "ruby-augeas", "ruby-ipaddress", "ruby-json", "ruby-netaddr", "ruby-openstack", "ruby-shadow", "ruby-stomp", "telnet", "ubuntu-minimal", "ubuntu-standard", "uuid-runtime", "vim", "virt-what", "vlan"], "codename": "trusty"}' (node master returned 255).

发现是因为Repositories里的mos镜像地址有问题, 修改如下 :

ubuntu:
deb http://ftp.sjtu.edu.cn/ubuntu/ trusty main multiverse restricted universe
ubuntu-updates:
deb http://ftp.sjtu.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
ubuntu-security:
deb http://ftp.sjtu.edu.cn/ubuntu/ trusty-security main multiverse restricted universe

mosmos:
deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0 main restricted
mos-updates:
deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0-updates main restricted
mos-security:
deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-security main restricted
mos-holdback:
deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0-holdback main restricted

回到控制台, 再次尝试部署.

错误处理:

问题1:

[root@node-2 ~]# nova list
ERROR: You must provide a username via either --os-username or env[OS_USERNAME]

解决方案:

[root@node-2 ~]# source ~/openrc

© 著作权归作者所有

共有 人打赏支持
mecisery
粉丝 1
博文 43
码字总数 23707
作品 0
海淀
OpenStack波士顿峰会召开: 借助远程托管私有云、边缘计算及组合型基础设施,赢得新客户、实现新增长

主旨发言、现场演示,OpenStack借助成本效益双赢组合型开放基础设施来展示其在推动创新方面的强大实力 日前,来自六十多个国家数以千计的与会者齐聚OpenStack波士顿峰会,共同讨探讨如何实现...

玄学酱 ⋅ 04/12 ⋅ 0

白皮书:OpenStack与容器的相遇相知(上)

导 读 本文由OpenStack基金会官方发布,来自基金会、用户、厂商的16位专家作者联合撰写,原文请访问:https://www.openstack.org/containers/whitepaper 想象一下,你的任务是从头开始构建整...

lq1ns259ej3okyvk4jf ⋅ 05/28 ⋅ 0

九州云陈沙克:OpenStack的成功源于自身的开放

OpenStack堪称是继Linux之后开源领域最成功的项目。这个6年前被NASA和RackSpace开放出的云框架,伴随着云计算市场的增长而迅速被广泛传播和认可,其中不乏英特尔等巨头的支持。不过,“人红是...

玄学酱 ⋅ 05/15 ⋅ 0

OpenStack云撑起百联O2O战略布局

电子商务大潮来袭,传统零售行业也无不面临巨大的竞争压力,转型升级成为所有零售企业必须面对的问题,上海的百联集团也不例外。百联集团堪称线下零售业航母,旗下有40多家大型综合百货购物中...

玄学酱 ⋅ 05/15 ⋅ 0

通过 ansible 创建 openstack 虚拟机并部署应用(配置篇)

本文中的例子在 ansible 和 Ansible Tower 里都通过。 controller 对 openstack 的接入 本文里的 controller 是我的笔记本电脑,需要做以下配置: 建立 /etc/ansible/openstack.yml,内容如下...

李海滨 ⋅ 04/24 ⋅ 0

美国财富百强企业中50%使用 "创新引擎"OpenStack

三分之二的OpenStack部署现已全面进入生产领域,OpenStack人才需求猛涨,OpenStack社区发力可用性、稳定性与人才培训 2016年6月17日-北京- OpenStack基金会日前宣布,美国财富百强公司中50%...

玄学酱 ⋅ 05/22 ⋅ 0

开放基础架构新浪潮:互联网巨头背后的OpenStack

2018年5月21-24日,第十七届OpenStack峰会在温哥华盛大开幕,今年峰会的主题为“Open Infrastructure”。凸显出OpenStack基金会积极拥抱变化,主动求变的态度更加清晰,也是OpenStack基金会开...

云科技时代 ⋅ 05/25 ⋅ 0

OpenStack推出最新版本Newton,显著提升单一云平台 对虚拟化、裸机和容器的管理

2016年10月10日-北京- OpenStack社区日前发布其命名为“Newton”的第14个版本。OpenStack是用于构建云的部署最广泛的开源软件。此次推出的新功能包括:Ironic裸机开通服务,Magnum容器编排集...

玄学酱 ⋅ 05/11 ⋅ 0

知行合一新华三借OpenStack乘“云”而上

云计算时代,企业如何搭上OpenStack的列车实现“云”路通途?7月14日~15日,首次登录中国大陆的OpenStack Days China峰会上,新华三集团旗下杭州华三通信云计算产品线总裁吴健指出,新华三基...

玄学酱 ⋅ 05/21 ⋅ 0

Openstack 之 Prometheus 监控

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 作为一个生产系统,全面的系统监控是必不可少的一个环节,以前都是使用zab...

余伟兵 ⋅ 06/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部