国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenStack的高校大數(shù)據(jù)實(shí)踐云平臺構(gòu)建和實(shí)踐探究

2024-04-03 21:05:58宋志偉
電腦知識與技術(shù) 2024年2期
關(guān)鍵詞:云平臺大數(shù)據(jù)

宋志偉

關(guān)鍵詞:云平臺;OpenStack;大數(shù)據(jù);大數(shù)據(jù)實(shí)踐云平臺;大數(shù)據(jù)實(shí)踐平臺

各高校紛紛推出了大數(shù)據(jù)相關(guān)的課程,來滿足大數(shù)據(jù)時(shí)代對人才的需求。要在大數(shù)據(jù)課程中取得良好的學(xué)習(xí)效果,動手實(shí)踐是學(xué)習(xí)中必不可少的環(huán)節(jié)。大數(shù)據(jù)實(shí)驗(yàn)所需集群環(huán)境比較復(fù)雜,不同的實(shí)驗(yàn)所需要的環(huán)境也不盡相同,環(huán)境的搭建既費(fèi)時(shí)費(fèi)力又容易出錯。云計(jì)算為高校在實(shí)踐平臺建設(shè)中產(chǎn)生的一系列問題提供了很好的解決方案。

1 高校教學(xué)現(xiàn)狀分析

目前常見的實(shí)踐平臺以單機(jī)實(shí)驗(yàn)為主,是在虛擬機(jī)上完成大數(shù)據(jù)實(shí)驗(yàn),較難完成多機(jī)集群環(huán)境的部署。另外,課堂時(shí)間較短,除了老師講解操作所花的時(shí)間,留給學(xué)生動手實(shí)踐的時(shí)間比較少,造成了有的學(xué)生在課上時(shí)間不能完成相應(yīng)的練習(xí)。當(dāng)學(xué)生進(jìn)行下一次學(xué)習(xí)時(shí),電腦設(shè)備會對系統(tǒng)進(jìn)行重置,之前的操作會被清空,如果想要繼續(xù)完成之前的練習(xí),就需要從頭再來,這樣會對學(xué)習(xí)效果造成影響。另外,電腦設(shè)備需要定期進(jìn)行維護(hù)和管理,造成課后學(xué)生不能直接使用,這對學(xué)生通過課后自主練習(xí)來提高學(xué)習(xí)效果有很大的影響。

2 云計(jì)算平臺

目前,云計(jì)算的部署方式可分為:公有云、私有云、混合云。公有云的優(yōu)點(diǎn)是簡單易用,運(yùn)維管理由云服務(wù)商提供,但長期使用成本較高,教學(xué)環(huán)境的定制并不方便。私有云是由單位自行搭建的云平臺,所有的資源和服務(wù)只供自己使用,其優(yōu)勢體現(xiàn)在資源管理、動態(tài)調(diào)整和個性化定制的課程環(huán)境上,但初期需要投入較高的成本。混合云是企業(yè)出于安全考慮,在私有云中存放數(shù)據(jù),在公有云中獲得計(jì)算資源,同時(shí)使用私有云和公有云。在云平臺的部署方案中,OpenStack的市場占有率比較高,技術(shù)也比較成熟,已成為開源云平臺主流的一種解決方案[1]。因此,本文主要是基于OpenStack的實(shí)踐云平臺的搭建及應(yīng)用,其版本是OpenStack Train(T版)。

3 OpenStack 簡介

OpenStack是一個云操作系統(tǒng),第一版被命名為Austin,每隔數(shù)月會發(fā)布一次新版本[2]。以A 至Z 為序,以26個英文字母作為開頭字母來命名后續(xù)版本的名稱。Austin版只包括兩個項(xiàng)目Swift和Nova,為云計(jì)算提供對象存儲和計(jì)算服務(wù)。目前,OpenStack包含6 個核心組件(Keystone、Glance、Nova、Neutron、Cinder、Swift)和14個可選組件,共計(jì)30個組件,每個組件中包含多個服務(wù)。后續(xù)版本中組件的數(shù)量還會發(fā)生變化。

本文中的實(shí)踐云平臺搭建使用了OpenStack中的7個組件,各組件的功能如下:

Keystone 是OpenStack 各個組件之間的通信核心,對所有的組件提供身份認(rèn)證和授權(quán),追蹤用戶及其權(quán)限,提供一個可用服務(wù)和API列表[3]。

Glance鏡像服務(wù),提供虛擬機(jī)鏡像的發(fā)現(xiàn)、注冊和檢索服務(wù)。

Nova是真正的執(zhí)行部件,是一個提供計(jì)算資源的模塊,管理虛擬機(jī)的整個生命周期。按照Dashboard 發(fā)來的指令并完成具體的操作。

Neutron 網(wǎng)絡(luò)服務(wù),提供應(yīng)用編程接口(API)為OpenStack云更靈活地劃分物理網(wǎng)絡(luò),在多租戶環(huán)境下,提供給每個租戶獨(dú)立的網(wǎng)絡(luò)環(huán)境。

Cinder管理塊設(shè)備,可以看作是幫助虛擬機(jī)獲得所需塊設(shè)備的管家。

Swift是一個類似于HBase的專門為虛擬機(jī)提供非結(jié)構(gòu)化數(shù)據(jù)存儲的NoSQL數(shù)據(jù)庫。它采用分散式存儲的方式,為了保證數(shù)據(jù)的安全性,將相同的數(shù)據(jù)存儲在多臺電腦上。

Horizon控制臺服務(wù),提供了一個網(wǎng)頁界面,該服務(wù)通常稱為Dashboard。用戶登錄后可以完成大多數(shù)操作:管理實(shí)例、動態(tài)遷移、分配IP地址等。

4 基于OpenStack 的大數(shù)據(jù)實(shí)踐云平臺設(shè)計(jì)

所搭建的實(shí)踐云平臺總共需要5臺服務(wù)器。每臺服務(wù)器的配置:2個18核36線程e5-2696 v3 CPU、8個32GB內(nèi)存、4TB的硬盤。每臺服務(wù)器安裝CentOS-7-x86_64-DVD-2009.iso操作系統(tǒng)。這5臺服務(wù)器分別作為1臺控制節(jié)點(diǎn)服務(wù)器、4臺計(jì)算節(jié)點(diǎn)和存儲節(jié)點(diǎn)服務(wù)器。每臺服務(wù)器配置兩張網(wǎng)卡,網(wǎng)卡1網(wǎng)段為192.168.169.0/24,該網(wǎng)絡(luò)為所有的服務(wù)器提供軟件包安裝、網(wǎng)絡(luò)訪問、安全更新、網(wǎng)絡(luò)時(shí)間同步NTP、域名解析DNS [4],用于管理網(wǎng)絡(luò)。網(wǎng)卡2 網(wǎng)段為192.168.200.0/24,網(wǎng)關(guān)為192.168.200.1,該網(wǎng)絡(luò)為OpenStack中的所有虛擬機(jī)實(shí)例提供網(wǎng)絡(luò)訪問[3]。具體IP規(guī)劃和整體架構(gòu)如圖1所示。

控制臺計(jì)算機(jī)需1臺,配置2張網(wǎng)卡,安裝Win?dows 10 操作系統(tǒng),網(wǎng)卡1 的IP 地址配置為192.168.169.11,網(wǎng)卡2 的IP 地址配置為192.168.200.11。教師可以通過控制臺登錄各服務(wù)器,進(jìn)行云平臺的搭建和配置。

交換機(jī)2960 各48 口共需2 臺,分別為Switch1、Switch2。路由器需要1臺。

40臺學(xué)生計(jì)算機(jī)接于Switch1上,分配固定IP地址192.168.169.101-140。

搭建好OpenStack云平臺以后,學(xué)生上課時(shí),可以通過學(xué)生計(jì)算機(jī)訪問http://192.168.169.10/dashboard 登錄OpenStack平臺。課后,學(xué)生也可以在學(xué)校任何地方通過校園網(wǎng)絡(luò)訪問http://192.168.200.10/dash?board 登錄OpenStack 平臺。學(xué)生在OpenStack 云平臺上創(chuàng)建出自己的實(shí)驗(yàn)云主機(jī),部署出大數(shù)據(jù)實(shí)踐平臺環(huán)境。云主機(jī)IP 地址分配池范圍設(shè)置為192.168.200.30-254,云主機(jī)可以自動獲取IP地址。

5 基于OpenStack 的大數(shù)據(jù)實(shí)踐云平臺搭建

5.1 OpenStack 基礎(chǔ)環(huán)境配置

首先,部署5臺服務(wù)器,分別命名為controller、com?pute1、compute2、compute3、compute4。對5臺服務(wù)器分別進(jìn)行基礎(chǔ)環(huán)境的安裝與配置,包含對所有節(jié)點(diǎn)進(jìn)行網(wǎng)卡配置、selinux和防火墻配置、時(shí)間服務(wù)器配置、安裝OpenStack軟件倉庫。在controller節(jié)點(diǎn)安裝配置數(shù)據(jù)庫服務(wù),消息隊(duì)列服務(wù)rabbitMQ,緩存服務(wù)memcache。

5.2 在controller 節(jié)點(diǎn)安裝身份認(rèn)證服務(wù)Keystone

首先,登錄MySQL數(shù)據(jù)庫創(chuàng)建keystone數(shù)據(jù)庫,對keystone數(shù)據(jù)庫進(jìn)行授權(quán)[4]。接著,安裝Keystone服務(wù);編輯/etc/keystone/keystone.conf服務(wù)文件,配置數(shù)據(jù)庫的連接,添加令牌提供者;初始化keystone數(shù)據(jù)庫;初始化Fernet密鑰庫,引導(dǎo)Keystone服務(wù);對keystone 應(yīng)用Bootstrap框架執(zhí)行初始化操作,引導(dǎo)身份認(rèn)證服務(wù)。然后,配置Apache HTTP服務(wù)器,包含:編輯/etc/httpd/conf/httpd. conf 文件,配置ServerName 選項(xiàng),使其指向控制節(jié)點(diǎn)[5];創(chuàng)建一個到/usr/share/key?stone/wsgi-keystone. conf 的鏈接文件;編輯/etc/keystone/adminopenrc文件,設(shè)置環(huán)境變量,配置管理員賬戶。最后,獲得admin 憑證來獲取只有管理員能執(zhí)行的命令訪問權(quán)限;創(chuàng)建service項(xiàng)目、user角色。

5.3 在controller 節(jié)點(diǎn)安裝鏡像服務(wù)Glance

首先,登錄MySQL數(shù)據(jù)庫創(chuàng)建glance 數(shù)據(jù)庫, 對glance 數(shù)據(jù)庫授權(quán)。接著,創(chuàng)建glance用戶;給service添加glance用戶并授權(quán)admin角色。然后,創(chuàng)建glance服務(wù)實(shí)體和創(chuàng)建映像服務(wù)API終結(jié)點(diǎn)。最后,在控制節(jié)點(diǎn)上安裝Glance 服務(wù);配置/etc/glance/glance-api.conf文件,配置數(shù)據(jù)庫的連接、身份認(rèn)證服務(wù)、鏡像文件位置;初始化glance數(shù)據(jù)庫。

5.4 在controller 節(jié)點(diǎn)安裝放置服務(wù)Placement

首先,登錄MySQL數(shù)據(jù)庫創(chuàng)建placement數(shù)據(jù)庫, 對placement數(shù)據(jù)庫進(jìn)行授權(quán)。接著,創(chuàng)建placement 用戶;給service 添加placement 用戶并授權(quán)admin 角色;創(chuàng)建placement服務(wù)實(shí)體;創(chuàng)建Placement API服務(wù)端點(diǎn)。然后,安裝Placement服務(wù);編輯/etc/placement/placement.conf文件,配置數(shù)據(jù)庫的連接、認(rèn)證服務(wù);初始化placement 數(shù)據(jù)庫。最后,解決bug,修改place?ment 的apache 配置文件/etc/httpd/conf. d/00-placement-api.conf。

5.5 在controller節(jié)點(diǎn)、compute節(jié)點(diǎn)安裝計(jì)算服務(wù)Nova

在控制節(jié)點(diǎn)安裝計(jì)算服務(wù)Nova。首先,登錄MySQL數(shù)據(jù)庫創(chuàng)建nova_api、 nova、nova_cell0數(shù)據(jù)庫; 并對數(shù)據(jù)庫進(jìn)行授權(quán)。接著,創(chuàng)建nova用戶;給ser?vice添加nova用戶并授權(quán)Admin角色;創(chuàng)建nova服務(wù)實(shí)體以及Nova API服務(wù)端點(diǎn)。然后,在控制節(jié)點(diǎn)安裝Nova服務(wù);編輯/etc/nova/nova.conf文件,啟用計(jì)算和元數(shù)據(jù)API,配置Rabbit消息隊(duì)列訪問,使能Networking 服務(wù),防火墻服務(wù)來禁用計(jì)算服務(wù)內(nèi)置的防火墻服務(wù),配置my_ip 來使用控制節(jié)點(diǎn)的管理接口的IP 地址,配置數(shù)據(jù)庫的連接、認(rèn)證服務(wù)訪問,開啟遠(yuǎn)程桌面配置VNC代理使用控制節(jié)點(diǎn)的管理接口IP地址,配置鏡像服務(wù)API的地址,配置鎖路徑,配置PlacementAPI[6]。最后,初始化nova-api數(shù)據(jù)庫;注冊cell0數(shù)據(jù)庫;創(chuàng)建cell1單元格;同步數(shù)據(jù)庫。

在計(jì)算節(jié)點(diǎn)安裝計(jì)算服務(wù)Nova。編輯/etc/nova/nova.conf文件,配置計(jì)算節(jié)點(diǎn)vnc遠(yuǎn)程訪問信息,設(shè)置虛擬類型為qemu;若計(jì)算節(jié)點(diǎn)不支持硬件加速,必須配置libvirt來使用QEMU去代替KVM。

5.6 在controller節(jié)點(diǎn)、compute節(jié)點(diǎn)安裝網(wǎng)絡(luò)服務(wù)Neutron

在controller節(jié)點(diǎn)安裝Neutron服務(wù)。首先,登錄MySQL數(shù)據(jù)庫創(chuàng)建neutron數(shù)據(jù)庫;對neutron數(shù)據(jù)庫授權(quán),創(chuàng)建數(shù)據(jù)庫用戶neutron,并授予數(shù)據(jù)庫用戶neu?tron訪問neutron數(shù)據(jù)庫的權(quán)限[5]。接著,創(chuàng)建neutron 用戶;添加admin角色到neutron用戶和service項(xiàng)目;創(chuàng)建Neutron 服務(wù)實(shí)體;創(chuàng)建Neutron 服務(wù)的API端點(diǎn)。然后,安裝和配置網(wǎng)絡(luò)服務(wù);配置/etc/neutron/neutron.conf、/etc/neutron/plugins/ml2/ml2_conf. ini、/etc/neutron/plugins/ml2/linuxbridge_agent. ini、/etc/sysctl. conf、/etc/neutron/l3_agent. ini、/etc/neutron/dhcp_agent. ini、/etc/neutron/metadata_agent. ini、/etc/nova/nova. conf 文件[7]。最后,建立ML2 插件的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini的軟連接;初始化neutron數(shù)據(jù)庫。

在compute節(jié)點(diǎn)安裝Neutron服務(wù),配置/etc/neutron/neutron. conf、/etc/neutron/plugins/ml2/linuxbridge_agent.ini、/etc/nova/nova.conf、/etc/sysctl.conf文件。

5.7 在controller 節(jié)點(diǎn)安裝Dashboard(Horizon)

首先,在controller節(jié)點(diǎn)安裝Dashboard服務(wù)。接著,配置文件/etc/httpd/conf.d/openstack-dashboard.conf和/etc/openstack-dashboard/local_settings。然后,重新啟動httpd、memcached服務(wù)。最后,使用瀏覽器打開網(wǎng)址:http://192.168.169.10/dashboard即可看到Web頁面。

5.8 在controller 節(jié)點(diǎn)、compute 節(jié)點(diǎn)安裝塊存儲服務(wù)Cinder 和對象存儲Swift

首先,配置完成基礎(chǔ)環(huán)境。接著,編輯/etc/cinder/cinder.conf和/etc/swift/swift.conf文件,配置數(shù)據(jù)庫的連接,配置rabbit消息隊(duì)列服務(wù),配置認(rèn)證服務(wù)訪問。最后,初始化數(shù)據(jù)庫[2]。

6 學(xué)生租戶的創(chuàng)建和OpenStack平臺開放鏡像權(quán)限

項(xiàng)目Project也稱為租戶,用于將OpenStack的資源(如:計(jì)算、存儲和網(wǎng)絡(luò))進(jìn)行分組和隔離,創(chuàng)建出的每一個項(xiàng)目可以代表一個學(xué)生租戶。只有該租戶下的用戶才可以訪問該項(xiàng)目的資源。創(chuàng)建時(shí)需要指定該租戶的名稱和配額。配額是指該租戶最多允許使用多少資源,如vCPU數(shù)、內(nèi)存大小、存儲大小等。

同時(shí)可以添加項(xiàng)目成員(user) 到該租戶(project) 。

6.1 創(chuàng)建學(xué)生租戶和用戶

登錄controller節(jié)點(diǎn),創(chuàng)建40個項(xiàng)目project,以學(xué)號命名11001-11040,也就是40個學(xué)生租戶。為每個學(xué)生租戶創(chuàng)建一個用戶,為110XXuser,密碼分別為110XXuser。

6.2 配額限制

通過管理員賬戶Admin登錄OpenStack平臺,找到“編輯配額”,分別對40個學(xué)生租戶進(jìn)行配額限制。每名學(xué)生配額,10個實(shí)例,8核CPU,20G內(nèi)存,400G磁盤。

6.3 創(chuàng)建實(shí)例類型

通過管理員賬戶Admin登錄OpenStack平臺,創(chuàng)建實(shí)例類型4個實(shí)例類型,HADOOP-控制臺,master- 類型,slave01-類型,slave02-類型。

6.4 OpenStack 平臺上傳鏡像并開放鏡像權(quán)限(僅以租戶11001為例)

首先上傳鏡像,教師提前做好Hadoop集群的三個節(jié)點(diǎn)鏡像,一個主節(jié)點(diǎn)鏡像master-image,兩個從節(jié)點(diǎn)鏡像slave01-image和slave02-image,外加一個控制臺鏡像windows10-image。在controller節(jié)點(diǎn)上把鏡像上傳至/root 目錄下,并通過命令上傳鏡像至Open?Stack中[8]。如圖2所示。

將這4 個鏡像分別共享給學(xué)生租戶11001。在此僅以鏡像master-image 為例。命令格式: glancemember-create <鏡像id> < 項(xiàng)目11001的id>。

[root@controller ~]#glance member-create 8bc452e4-4791-4db4-8247-b5d7ee521d77 a47222cd7f3b41f6a0c865829fd3f51d

在共享之后,鏡像的狀態(tài)是pending 狀態(tài),此時(shí)還需要激活鏡像。命令格式:glancemember-update <鏡像id> <項(xiàng)目11001的id>accepted。

[root@controller ~]# glance memberupdate8bc452e4-4791-4db4-8247-b5d7ee521d77 a47222cd7f3b41f6a0c865829fd3f51d ac?cepted

7 學(xué)生部署Hadoop 集群

11001 號學(xué)生通過11001user 用戶名登錄Open?Stack平臺,利用鏡像自行部署Hadoop集群,創(chuàng)建出4 個實(shí)例:windows10-vm、 master-vm、slave01-vm、slave02-vm。如圖3所示。

上述虛擬機(jī)在開啟狀態(tài),學(xué)生通過實(shí)例控制臺打開windows10-vm 界面,通過SecureCRT,連接上master-vm,slave01-vm,slave02-vm。啟動Hadoop 集群服務(wù),[root@master ~]# start-all.sh。通過瀏覽器登錄,http://master:50070, http://master:8088??梢哉TL問Hadoop集群的HDFS界面和YARN界面,如圖4 所示。

8 結(jié)束語

本文基于OpenStack搭建了一個大數(shù)據(jù)實(shí)踐云平臺,平臺中提供了多種實(shí)例類型和鏡像,學(xué)生按需創(chuàng)建實(shí)例。平臺實(shí)現(xiàn)了資源的彈性分配、共享、有效管理和有效利用,具備虛擬化管理、存儲管理、安全管理、服務(wù)管理等功能模塊[6]。實(shí)踐平臺采用訪問控制、安全組等機(jī)制保證了該平臺的可靠性,還提供了接口實(shí)現(xiàn)了平臺的管理。教師以管理員身份登錄,對系統(tǒng)進(jìn)行安裝配置和管理運(yùn)維;學(xué)生用各自分配的賬號和密碼登錄實(shí)踐平臺做實(shí)訓(xùn),互不影響。

猜你喜歡
云平臺大數(shù)據(jù)
基于云平臺的輸電桿塔滑坡監(jiān)控系統(tǒng)設(shè)計(jì)
Docker技術(shù)在Web服務(wù)系統(tǒng)中的應(yīng)用研究
高職院校開展基于云平臺網(wǎng)絡(luò)教學(xué)的探索與思考
中國市場(2016年36期)2016-10-19 04:43:09
企業(yè)云平臺建設(shè)研究
大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
科技視界(2016年20期)2016-09-29 10:53:22
數(shù)據(jù)+輿情:南方報(bào)業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
基于云平臺的微信互聯(lián)式教學(xué)法的探索與實(shí)踐
基于云平臺的高職院校開放性職業(yè)培訓(xùn)工作體系建設(shè)研究
马公市| 棋牌| 陇西县| 奉新县| 荃湾区| 大邑县| 平舆县| 陇川县| 光山县| 通道| 新昌县| 青川县| 称多县| 敖汉旗| 繁昌县| 商河县| 自治县| 平果县| 娄底市| 溆浦县| 永泰县| 铜陵市| 珲春市| 和林格尔县| 长宁区| 合作市| 望城县| 娄烦县| 郧西县| 外汇| 平舆县| 宜兰市| 霍林郭勒市| 永胜县| 永清县| 常山县| 两当县| 温泉县| 彩票| 昌都县| 都安|