基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)
基于【国基北盛】云基础架构平台软件搭建先电IaaS平台(先电V2.4版本)
目录
- 1、前期准备与节点规划
- 2、基础环境配置与说明
- 3、安装centos7.5操作系统与说明
- 4、 配置网络、主机名(controller、compute)
- 5、上传镜像并配置本地YUM源(controller、compute)
- 6、挂载本地YUN源
- 7、配置域名解析
- 8、关闭防火墙和修改SELINUX安全模式
- 9、在【compute】节点上进行空白分区的划分,cinder存储和swift存储。
- 10、编辑环境变量(controller、compute)
- 11、执行相关脚本安装各个组件服务
- (1)通过脚本安装服务
- (2)通过脚本安装数据库服务
- (3)通过脚本安装keystone服务
- (4)通过脚本安装glance服务
- (5)通过脚本安装nova服务
- (6)通过脚本安装neutron服务
- (7)通过脚本安装dashboard服务
- (8)通过脚本安装Cinder服务
- (9)通过脚本安装Swift服务
- (10)通过脚本安装heat服务
- (11)通过脚本安装Zun服务
- (12)通过脚本安装Ceilometer服务
- (13)通过脚本安装Aodh服务
- 12、添加控制节点资源到云平台
- 13、登录web界面
1、前期准备与节点规划
- 使用搭建的操作系统是:
CentOS-7-x86_64-DVD-1804.iso
- 使用搭建的镜像是:
chinaskills_cloud_iaas.iso
- 使用远程连接的工具是:
xshell
- 搭建方式:使用两台先电云计算服务器进行搭建,一个作为控制节点。另一个作为计算节点。
- 节点网络规划
节点 | 内网IP地址 | 外网IP地址 |
---|---|---|
controller | 192.168.1.10 | 192.168.101.10 |
compute | 192.168.1.20 | 192.168.101.20 |
注意:IP地址根据实际组网情况进行填写配置
2、基础环境配置与说明
云计算IaaS控制节点 | 云计算IaaS计算节点 |
---|---|
Keystone安全认证服务 | |
Glance镜像服务 | |
Nova计算控制服务 | Nova Compute计算服务 |
Dashboard管理界面 | |
Neutron Server网络服务 | Neutron节点网络服务 |
Cinder存储控制服务 | Cinder Volume存储服务 |
Rabbit消息服务 | |
Mysql数据库 | |
Swift 代理服务 | Swift 存储服务 |
Heat编配服务 | |
Ceilometer 监控服务 | Ceilometer监控代理 |
参考之前的搭建先电IaaS V2.2版本的博客说明
说明:存储节点安装操作系统时需划分两个空白分区,作为cinder和swift存储磁盘搭建 ftp服务器作为搭建云平台的yum源。
3、安装centos7.5操作系统与说明
参考之前搭建先电v2.2版本的博客:
安装CentOS7 说明与操作步骤(以controller节点为例)
4、 配置网络、主机名(controller、compute)
通过xShell
远程连接工具连接【controller
】节点和【compute
】节点,即控制节点和计算节点。
【controller】
配置网络信息。修改相关参数信息。
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp8s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp8s0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp9s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp9s0
DEVICE=enp9s0
ONBOOT=yes
IPADDR=192.168.101.10
NETMASK=255.255.255.0
GATEWAY=192.168.101.1
DNS1=192.168.101.1
[root@controller ~]# [root@controller ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 0c:c4:7a:7c:6d:16 brd ff:ff:ff:ff:ff:ffinet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute enp8s0valid_lft forever preferred_lft foreverinet6 fe80::ec4:7aff:fe7c:6d16/64 scope link valid_lft forever preferred_lft forever
3: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 0c:c4:7a:7c:6d:17 brd ff:ff:ff:ff:ff:ffinet 192.168.101.10/24 brd 192.168.101.255 scope global noprefixroute enp9s0valid_lft forever preferred_lft foreverinet6 fe80::ec4:7aff:fe7c:6d17/64 scope link valid_lft forever preferred_lft forever
[root@controller ~]#
[root@controller ~]# ping -c 5 www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=49 time=8.34 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=49 time=8.29 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=49 time=8.34 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=49 time=8.22 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=5 ttl=49 time=8.18 ms--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 8.184/8.278/8.348/0.132 ms
[root@controller ~]#
配置控制节点的主机名
[root@controller ~]# hostnamectl set-hostname controller
[root@controller ~]# bash
[root@controller ~]# hostnamectl Static hostname: controllerIcon name: computer-desktopChassis: desktopMachine ID: 03ea1deb7ce84827b40dcc0cad6deba0Boot ID: 73599f8a282c461bb30037e90d8f1702Operating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-862.el7.x86_64Architecture: x86-64
[root@controller ~]#
【compute】
修改计算节点的主机名
[root@localhost ~]# hostnamectl set-hostname compute
[root@localhost ~]# bash
[root@compute ~]# hostnamectl Static hostname: computeIcon name: computer-desktopChassis: desktopMachine ID: 91753e2724514eeeae458d545bba8b0dBoot ID: 1be1aa57d5e8436bba0ad7d1333e099fOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-862.el7.x86_64Architecture: x86-64
[root@compute ~]#
配置计算节点的网络。并修改相关信息。
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp8s0
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp9s0
[root@compute ~]# systemctl restart network
[root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp9s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp9s0
DEVICE=enp9s0
ONBOOT=yes
IPADDR=192.168.101.20
NETMASK=255.255.255.0
GATEWAY=1921.68.101.1
DNS1=192.168.101.1
[root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp8s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp8s0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
[root@compute ~]# [root@compute ~]# ping -c 5 www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=49 time=10.3 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=49 time=9.77 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=49 time=9.79 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=4 ttl=49 time=9.81 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=5 ttl=49 time=9.74 ms--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 9.740/9.884/10.302/0.236 ms
[root@compute ~]#
5、上传镜像并配置本地YUM源(controller、compute)
【controller】
配置【controller节点】的本地YUM源
[root@controller yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo
[root@controller yum.repos.d]# mkdir bak
[root@controller yum.repos.d]# mv CentOS-* bak/
[root@controller yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 187 Nov 3 10:43 bak
[root@controller yum.repos.d]# mv bak /home/
[root@controller yum.repos.d]# ll
total 0
[root@controller ~]# vi /etc/yum.repos.d/local.repo
[root@controller ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[openstack]
name=openstack
baseurl=file:///opt/openstack/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]#
配置【compute节点】的本地YUM源,使用ftp的方式获取controller节点的YUM源。
[root@compute ~]# cd /etc/yum.repos.d/
[root@compute yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo
[root@compute yum.repos.d]# mkdir bak
[root@compute yum.repos.d]# mv CentOS-* bak/
[root@compute yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 187 Nov 3 10:43 bak
[root@compute yum.repos.d]# mv bak /home/
[root@compute yum.repos.d]# ll
total 0
[root@compute yum.repos.d]# vi /etc/yum.repos.d/ftp.repo
[root@compute yum.repos.d]# cat /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.1.10/centos
gpgcheck=0
enable=1
[openstack]
name=openstack
baseurl=ftp://192.168.1.10/openstack/iaas-repo
gpgcheck=0
enabled=1
[root@compute yum.repos.d]#
在控制节点的/opt目录下创建centos
和openstack
目录用来挂载centos镜像和openstack镜像
【controller】
[root@controller ~]# cd /opt/
[root@controller opt]# ll
total 0
[root@controller opt]# mkdir centos
[root@controller opt]# mkdir openstack
[root@controller opt]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 3 10:50 centos
drwxr-xr-x. 2 root root 6 Nov 3 10:50 openstack
[root@controller opt]#
6、挂载本地YUN源
【controller】
[root@controller ~]# ll
total 8075368
-rw-------. 1 root root 1463 Nov 3 09:23 anaconda-ks.cfg
-rw-r--r--. 1 root root 4470079488 Nov 3 11:04 CentOS-7-x86_64-DVD-1804.iso
-rw-r--r--. 1 root root 3799093248 Nov 3 11:01 chinaskills_cloud_iaas.iso
[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# cp -rvf /mnt/* /opt/centos/
[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# cp -rvf /mnt/* /opt/openstack/
查看是否安装在指定的目录下。
[root@controller ~]# cd /opt/
[root@controller opt]# ll
total 0
drwxr-xr-x. 8 root root 220 Nov 3 11:36 centos
drwxr-xr-x. 4 root root 37 Nov 3 11:39 openstack
[root@controller opt]# cd centos/
[root@controller centos]# ll
total 320
-rw-r--r--. 1 root root 14 Nov 3 11:35 CentOS_BuildTag
drwxr-xr-x. 3 root root 35 Nov 3 11:35 EFI
-rw-r--r--. 1 root root 227 Nov 3 11:35 EULA
-rw-r--r--. 1 root root 18009 Nov 3 11:35 GPL
drwxr-xr-x. 3 root root 57 Nov 3 11:35 images
drwxr-xr-x. 2 root root 198 Nov 3 11:35 isolinux
drwxr-xr-x. 2 root root 43 Nov 3 11:35 LiveOS
drwxr-xr-x. 2 root root 221184 Nov 3 11:36 Packages
drwxr-xr-x. 2 root root 4096 Nov 3 11:36 repodata
-rw-r--r--. 1 root root 1690 Nov 3 11:36 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root 1690 Nov 3 11:36 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 Nov 3 11:36 TRANS.TBL
[root@controller centos]# cd ..
[root@controller opt]# cd openstack/
[root@controller openstack]# ll
total 0
drwxr-xr-x. 4 root root 34 Nov 3 11:39 iaas-repo
drwxr-xr-x. 2 root root 132 Nov 3 11:39 images
【controller】
测试YUM源是否配置成功。
[root@controller ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos openstack
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
openstack | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): openstack/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
openstack openstack 3,232
repolist: 7,203
[root@controller ~]#
在controller节点上安装ftp服务
[root@controller ~]# yum install -y vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-22.el7 will be installed
--> Finished Dependency ResolutionDependencies Resolved=======================================================================================================================================Package Arch Version Repository Size
=======================================================================================================================================
Installing:vsftpd x86_64 3.0.2-22.el7 centos 169 kTransaction Summary
=======================================================================================================================================
Install 1 PackageTotal download size: 169 k
Installed size: 348 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : vsftpd-3.0.2-22.el7.x86_64 1/1 Verifying : vsftpd-3.0.2-22.el7.x86_64 1/1 Installed:vsftpd.x86_64 0:3.0.2-22.el7 Complete!
[root@controller ~]# vi /etc/
Display all 175 possibilities? (y or n)
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
[root@controller ~]# systemctl start vsftpd;systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@controller ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2020-11-03 11:51:05 CST; 50s agoMain PID: 10038 (vsftpd)CGroup: /system.slice/vsftpd.service└─10038 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confNov 03 11:51:05 controller systemd[1]: Starting Vsftpd ftp daemon...
Nov 03 11:51:05 controller systemd[1]: Started Vsftpd ftp daemon.
[root@controller ~]#
【compute】
[root@compute ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos openstack
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@compute ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
openstack | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): openstack/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
openstack openstack 3,232
repolist: 7,203
[root@compute ~]#
7、配置域名解析
【controller】
[root@controller ~]# vi /etc/hosts
[root@controller ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 controller
192.168.1.20 compute
[root@controller ~]#
【compute】
[root@compute ~]# vi /etc/hosts
[root@compute ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 controller
192.168.1.20 compute
[root@compute ~]#
8、关闭防火墙和修改SELINUX安全模式
【controller、compute】
以compute节点为例,compute节点进行相同操作即可
关闭防火墙并设置防火墙开机不自启
[root@controller ~]# systemctl stop firewalld;systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@controller ~]#
修改SELINUX安全模式(临时修改、永久修改)
(准确的来说,permissive
是允许放行通过,即发出警告⚠但不阻止
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)相关推荐
- 国基北盛-openstack-容器云-环境搭建
前言 本篇文章内实验内容为国基北盛试点版赛题内容,时间是2020年底的资料和其他省现状可能不太相符,但是学习的内容并不会有太大差距,之前在csdn上写过一篇,但是太过简便,并且没有记录完整的做题过程, ...
- Nutanix混合云基础架构现已支持亚马逊云服务(AWS)
携手AWS,Nutanix Clusters支持应用云间无缝迁移及统一操作,助力企业加速云上旅程 企业云计算领导者Nutanix(纳斯达克:NTNX)今日宣布,Nutanix Clusters现已在亚 ...
- 国基北盛—云计算私有云iaas(2.4)平台搭建
1.基本环境配置详情: 2.虚拟机配置: Controller: 内存 6G+ 处理器4个 + 硬盘(sda)100G + 网卡1(仅主机192.168.100.10)+ 网卡2(NAT 192.16 ...
- 如何简要理解亚马逊云基础架构的领先性
截止到2021年底,每天有大约6000万个实例在亚马逊云科技上启动和运行,这个数字是2019年的两倍.这说明,云计算正在以不可阻挡的趋势滚滚向前发展.除了基于Amazon EC2提供的托管服务以外(比 ...
- OpenStack-国基北盛搭建,跑脚本安装各组件步骤详解
搭建openstack平台所需要的两个镜像包:CentOS-7-X86_64-DVD-1804.iso 和 chinaskill_cloud_iaas.iso镜像文件. 需要镜像的自行下载: 链接:h ...
- 云计算三层架构_金山云发布星曜裸金属服务器 打造面向云计算2.0的云基础架构...
"随着云计算2.0时代的全面到来,用户对于算力的需求正在发生明显的变化,如何提供兼具高性能.高稳定性和高安全性的服务器,更好地满足新时期用户的算力需求,是云厂商需要解决的首要问题." ...
- 亚马逊云基础架构:一场从未停歇的技术创新革命
在亚马逊的每一份年报中,Jeff Bezos 都会附上一份 1997 年致股东信的原件副本.在信中,Bezos 概述了亚马逊是否成功的基本衡量标准:坚持不懈地关注客户.创造长期价值而不是关注企业短期利 ...
- 「AI原生」时代来临?百度智能云提出AI-Native,发布新一代云基础架构「太行」
百度在AI新基建领域的投入持续加码.8月20日,ABC SUMMIT 2020百度智能云智能计算峰会举行,大会以"新基建 新计算 新动能"为主题.百度CTO王海峰.百度集团副总裁侯 ...
- 软件架构万字漫谈:业务架构、应用架构与云基础架构
软件架构万字漫谈:业务架构.应用架构与云基础架构 本部分节选自<软件架构设计> 软件开发就是把一个复杂的问题分解为一系列简单的问题,再把一系列简单的解决方案组合成一个复杂的解决方案.而软件 ...
- 黑马程序员 云基础架构解决方案
简化云解决方案的部署与管理 红帽公司今天宣布推出"红帽云基础" (Red Hat Cloud Foundation).这是一个重要的新产品家族,它将提供规划.构建和管理基础架构即服 ...
最新文章
- 2021年大数据Hadoop(十):HDFS的数据读写流程
- Linux下使用rsync最快速删除海量文件的方法
- 「超全」工欲善其事必先利其器!
- Python的国际化
- 不知道新三字经是啥?男默女泪的扫盲科普帖来了
- 前端学习(1919)vue之电商管理系统电商系统之用户角色权限的关系
- Myeclipse修改设置Default VM Arguments
- 计算机网络方向 CCF推荐会议及期刊
- weblogic14.c下载地址
- pci-e服务器显卡性能,PCI-E插槽速度可影响游戏性能
- c语言相反数补码,求一个数的相反数的补码
- C# WPF MVVM 实战 – 5- 用绑定,通过 VM 设置 View 的控件焦点
- python零基础电子书免费下载-零基础入门学习Python PDF 扫描版
- Markdown——图片、文字显示居中的一种方法
- @PostConstruct与afterPropertiesSet
- linux 定时执行任务 at atq atrm命令的使用
- CentOS 7安装图形化界面
- 新松机器人产业小镇_总投资18.7亿元的新松浑南智慧产业园,是我国最大的机器人产业化基地。该基地内,...
- 在DCore创建账户
- 【转载】【《Real-Time Rendering 3rd》 提炼总结】(四) 第五章 · 图形渲染与视觉外观 The Visual Appearance
热门文章
- PHP+Javascript实现拖动滑块完成拼图验证码
- c语言编程矩阵范数,矩阵2范数计算 这个二阶矩阵的二范数怎么
- JS新特性和流行框架 - 跟着李南江学编程
- HTML基础-跟着李南江学编程
- 【MySQL】Online DDL详解
- word图片撑满_word图片满页 word图片铺满整个页面
- 树莓派打造智能语音控制系统
- js 系统教程-05-js 数据类型数字 NaN Infinity
- 面试题33:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 * 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
- mis是商科还是计算机专业,MIS是什么?管理信息系统MIS和计算机科学CS有什么区别?...