亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HDFS的高校開(kāi)源軟件鏡像站架構(gòu)探究*

        2023-01-30 04:08:18王曉建
        計(jì)算機(jī)時(shí)代 2023年1期
        關(guān)鍵詞:鏡像開(kāi)源頁(yè)面

        王曉建,袁 磊

        (云南師范大學(xué),云南 昆明 650500)

        0 引言

        隨著信息技術(shù)的快速發(fā)展和高校信息化建設(shè)的不斷完善和深入,越來(lái)越多的高校搭建了自己的開(kāi)源軟件鏡像站點(diǎn),大部分高校搭建自己的鏡像站點(diǎn)都是在內(nèi)網(wǎng),有少部分也對(duì)外服務(wù),但是高校師生在訪(fǎng)問(wèn)這些站點(diǎn)時(shí)也會(huì)出現(xiàn)速度慢,同步時(shí)間長(zhǎng)等問(wèn)題,還有許多開(kāi)源軟件應(yīng)用在科學(xué)計(jì)算等專(zhuān)業(yè)領(lǐng)域,如果高校沒(méi)有自己的開(kāi)源鏡像,就會(huì)導(dǎo)致一方面用戶(hù)必須忍受緩慢不穩(wěn)定的網(wǎng)絡(luò)連接、浪費(fèi)大量時(shí)間,另一方面學(xué)校也浪費(fèi)了大量入口帶寬,而隨著互聯(lián)網(wǎng)和分布式存儲(chǔ)技術(shù)的發(fā)展,搭高校急需搭建屬于自己的開(kāi)源軟件鏡像站點(diǎn)來(lái)滿(mǎn)足師生的學(xué)習(xí)和科研需求,而HDFS具備了容錯(cuò)性高、成本低、通用性好等特點(diǎn)[1-2],易于搭建能存儲(chǔ)大量碎片文件的分布式存儲(chǔ)系統(tǒng)。

        1 Hadoop及相關(guān)技術(shù)簡(jiǎn)介

        HDFS 分布式文件系統(tǒng)是Hadoop 核心技術(shù)之一,提供了開(kāi)源的存儲(chǔ)框架,是一個(gè)實(shí)現(xiàn)數(shù)據(jù)分布式存儲(chǔ)的文件系統(tǒng)[3]。該系統(tǒng)通過(guò)高效的分布式算法集成多集群節(jié)點(diǎn),對(duì)大數(shù)據(jù)量的數(shù)據(jù)進(jìn)行分布式存儲(chǔ)和有效備份,當(dāng)其中一個(gè)節(jié)點(diǎn)宕機(jī)時(shí),系統(tǒng)可以讀取其他有效節(jié)點(diǎn)的數(shù)據(jù),并且系統(tǒng)對(duì)每個(gè)節(jié)點(diǎn)的物理性能要求并不高。因此,HDFS 采用主/從架構(gòu),包括客戶(hù)端、主控節(jié)點(diǎn)(NameNode)和數(shù)據(jù)節(jié)(DataNode)。其中,NameNode 主要負(fù)責(zé)管理文件系統(tǒng)的命名空間、元數(shù)據(jù)信息及客戶(hù)端對(duì)文件的訪(fǎng)問(wèn);DataNode 主要負(fù)責(zé)接收并處理客戶(hù)端的讀寫(xiě)請(qǐng)求和NameNode 的調(diào)度,存儲(chǔ)并檢索HDFS 的數(shù)據(jù)塊,是文件存儲(chǔ)的實(shí)際位置,并通過(guò)周期性的心跳報(bào)文將所有數(shù)據(jù)塊信息發(fā)送給NameNode。HDFS 的這種主/從設(shè)計(jì)結(jié)構(gòu)使得用戶(hù)數(shù)據(jù)不會(huì)流經(jīng)主控節(jié)點(diǎn),從而提高系統(tǒng)性能和效率。

        Hadoop 是典型的主從(Master/Slave)結(jié)構(gòu)。其構(gòu)成包括一個(gè)NameNode(名稱(chēng)節(jié)點(diǎn))和多個(gè)DataNode(數(shù)據(jù)節(jié)點(diǎn))。主服務(wù)器是由NameNode 構(gòu)成的,它的主要作用是管理HDFS(分布式文件系統(tǒng))的NameSpace(命名空間),其中保存了FsImage和EditLog兩個(gè)核心的數(shù)據(jù)結(jié)構(gòu)。前者用來(lái)對(duì)文件系統(tǒng)樹(shù)和文件樹(shù)中所有文件的元數(shù)據(jù)進(jìn)行維護(hù);后者則用來(lái)進(jìn)行創(chuàng)建文件、刪除文件、重命名文件等一系列操作,并執(zhí)行Client提出的文件訪(fǎng)問(wèn)命令。本文使用HDFS 作為主要的后端存儲(chǔ)系統(tǒng),能較好地利用服務(wù)器資源和存儲(chǔ)資源,并且達(dá)到很好地冗余效果。

        2 鏡像站點(diǎn)的架構(gòu)與部署

        2.1 基于Hadoop架構(gòu)的鏡像站

        HDFS 采用master/worker 架構(gòu)[4]。一 個(gè)HDFS 集群是有一個(gè)Namenode 和若干Datanode 組成[5]。Namenode 是一個(gè)中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的namespace 和客端對(duì)文件的訪(fǎng)問(wèn)。Datanode 在集群中一般是一個(gè)節(jié)點(diǎn)一個(gè),負(fù)責(zé)管理節(jié)點(diǎn)上它們附帶的存儲(chǔ)。在內(nèi)部,一個(gè)文件其實(shí)分成一個(gè)或多個(gè)block,這些block 存儲(chǔ)在Datanode 集合里。Namenode 執(zhí)行文件系統(tǒng)的namespace 操作,例如打開(kāi)、關(guān)閉、重命名文件和目錄,同時(shí)決定block 到具體Datanode 節(jié)點(diǎn)的映射。Datanode 在Namenode 的指揮下進(jìn)行block 的創(chuàng)建、刪除和復(fù)制。Namenode 和Datanode 都是設(shè)計(jì)成可以跑在普通的廉價(jià)的運(yùn)行Linux 的機(jī)器上。HDFS采用java 語(yǔ)言開(kāi)發(fā),因此可以部署在很大范圍的機(jī)器上。一個(gè)典型的部署場(chǎng)景是一臺(tái)機(jī)器跑一個(gè)單獨(dú)的Namenode節(jié)點(diǎn),集群中的其他機(jī)器各跑一個(gè)Datanode實(shí)例。Namenode 是所有HDFS 元數(shù)據(jù)的仲裁者和管理者,這樣,用戶(hù)數(shù)據(jù)永遠(yuǎn)不會(huì)流過(guò)Namenode,便于管理和維護(hù)。Hadoop的架構(gòu)圖如圖1所示。

        圖1 Hadoop架構(gòu)圖

        鏡像站使用HDFS存儲(chǔ)數(shù)據(jù)有下面四個(gè)優(yōu)點(diǎn):

        ⑴故障檢測(cè)、硬件容錯(cuò)、數(shù)據(jù)冗余

        HDFS 文件系統(tǒng)中的所有文件都以block 的方式存儲(chǔ)在集群的節(jié)點(diǎn)上,而且還有多副本的特性,保證了硬件的容錯(cuò),當(dāng)某一節(jié)點(diǎn)損壞時(shí),數(shù)據(jù)不會(huì)丟失。如果出現(xiàn)一些不可抗拒的因素導(dǎo)致其中某節(jié)點(diǎn)損壞時(shí),能通過(guò)Hdfs Trash(回收箱)或HdfsSnapShot(快照)方式恢復(fù)數(shù)據(jù)。

        ⑵處理流式的數(shù)據(jù)訪(fǎng)問(wèn)

        流式數(shù)據(jù)處理方式:一次寫(xiě)入,多次讀取[6]。HDFS 的數(shù)據(jù)處理規(guī)模比較大,應(yīng)用一次需要訪(fǎng)問(wèn)大量的數(shù)據(jù),同時(shí)這些應(yīng)用一般都是批量處理,而不是用戶(hù)交互式處理。應(yīng)用程序能以流的形式訪(fǎng)問(wèn)數(shù)據(jù)集。鏡像站的文件大多數(shù)都是ISO或者一些軟件的安裝包,所有流式處理數(shù)據(jù)對(duì)這些文件的訪(fǎng)問(wèn)是有好處的。

        ⑶適合存儲(chǔ)大文件

        搭建鏡像系統(tǒng)需要存儲(chǔ)大量的ISO 文件和一些Linux的軟件包,所需要的文件是通過(guò)同步的方式下載到本地,這些文件大部分都是幾百GB,甚至達(dá)TB 大小的文件,很適合使用HDFS的文件系統(tǒng)來(lái)存儲(chǔ)。

        ⑷可構(gòu)建在廉價(jià)的機(jī)器上

        很多高校并不像很多商業(yè)公司一樣,有足夠的服務(wù)器資源和存儲(chǔ)資源,很多服務(wù)器性能可能不是很高,而HDFS 文件系統(tǒng)不需要很高的服務(wù)器性能也能完成部署。

        2.2 服務(wù)器規(guī)劃

        云南師范大學(xué)信息管理處現(xiàn)在共有四臺(tái)閑置服務(wù)器,需要部署Hadoop 文件系統(tǒng),選擇存存儲(chǔ)容量最大的一臺(tái)服務(wù)器作為master,用來(lái)存儲(chǔ)鏡像的相關(guān)數(shù)據(jù),其余作為服務(wù)節(jié)點(diǎn),其中worker01 節(jié)點(diǎn)部署備份節(jié)點(diǎn),以便在數(shù)據(jù)丟失的情況下進(jìn)行數(shù)據(jù)的恢復(fù),worker1 和worker2 作為數(shù)據(jù)節(jié)點(diǎn),用來(lái)存儲(chǔ)發(fā)行版的相關(guān)更新文件,服務(wù)器規(guī)劃詳情見(jiàn)表1。

        表1 服務(wù)器規(guī)劃

        2.3 服務(wù)器配置

        ⑴主機(jī)名和防火墻設(shè)置

        在服務(wù)器配置之前,需要關(guān)閉防火墻,設(shè)置靜態(tài)IP,且IP 地址為內(nèi)網(wǎng)的IP 地址,使服務(wù)器無(wú)法暴露在外部網(wǎng)絡(luò)之中,設(shè)置為上表中的IP 地址,修改hosts 文件,而且需要重新配置,部署完成之后需要讓worker節(jié)點(diǎn)和slave節(jié)點(diǎn)能互相識(shí)別,將所有服務(wù)器的IP地址和主機(jī)名添加到該文件中,同時(shí)能夠使節(jié)點(diǎn)之間免密遠(yuǎn)程連接。

        ⑵配置SSH免密登錄

        關(guān)于ssh 免密碼的設(shè)置,要求每?jī)膳_(tái)主機(jī)之間設(shè)置免密碼,自己的主機(jī)與自己的主機(jī)之間也要求設(shè)置免密碼。這項(xiàng)操作可以在root 用戶(hù)下執(zhí)行,執(zhí)行完畢公鑰在/root/.ssh/id_rsa.pub。

        ⑶配置Hadoop 相關(guān)文件,配置HDFS 中namenode 的地址和Hadoop運(yùn)行時(shí)產(chǎn)生的的臨時(shí)文件的目錄。

        修改core-site.xml文件:

        ⑷配置同步工具tunasync

        同步原理是使用rsync 做增量同步。本文使用的是清華大學(xué)開(kāi)源軟件鏡像站開(kāi)發(fā)的tunasync,這個(gè)工具使用的是自動(dòng)化腳本進(jìn)行增量同步,簡(jiǎn)單易用。因?yàn)閠unasync 使用Golang 開(kāi)發(fā),所以需要先配置Golang 環(huán)境。使用命令行安裝Golang 環(huán)境即可。配置完成后使用以下命令啟動(dòng)同步的任務(wù):

        啟動(dòng)之后可以使用:tunasynctl list-p 12345-all查看同步的進(jìn)程和狀態(tài),如圖2所示。

        圖2 同步進(jìn)程和狀態(tài)

        2.4 配置前端Web頁(yè)面

        前端頁(yè)面的配置使用的是清華大學(xué)的開(kāi)源軟件鏡像站點(diǎn)的模板,需要配置站點(diǎn)信息。部署前需要修改頁(yè)面相關(guān)信息,編輯_config.yml文件:

        配置完前端信息之后,使用bundle exec jekyll serve--detach-H 0.0.0.0 在本地生成前端所需要的_site目錄,然后將其軟連接到存放同步鏡像的文件夾,開(kāi)啟Nginx 服務(wù)之后在Nginx 的配置文件中添加鏡像的存放目錄為網(wǎng)站的根目錄。為了便于在前臺(tái)頁(yè)面查看同步的相關(guān)信息,可以在后臺(tái)設(shè)置定時(shí)任務(wù),每天凌晨將當(dāng)天同步信息的JSON 文件下載并輸出到_site目錄的static文件夾,便于在前臺(tái)頁(yè)面中展示。

        鏡像站的前端使用的是ruby 語(yǔ)言,使用在后臺(tái)生成的頁(yè)面,后端使用的是Nginx,服務(wù)器端在后臺(tái)生成頁(yè)面,一個(gè)簡(jiǎn)單的Web 服務(wù)器軟件(例如TUNA 使用的Nginx),將所有有關(guān)文件設(shè)置好路徑提供下載,就可以實(shí)現(xiàn)最基本的鏡像站功能。鏡像站絕大多數(shù)業(yè)務(wù)均為靜態(tài)文件服務(wù),因此類(lèi)似的高性能靜態(tài)文件Web 服務(wù)器軟件均可按需選擇,本文使用的是Nginx服務(wù)器來(lái)提供對(duì)外服務(wù)。Nginx 服務(wù)器將靜態(tài)頁(yè)面通過(guò)軟連接的方式同步到前端。同步完成之后可以通過(guò)同步狀態(tài)頁(yè)面查看上一次同步的時(shí)間、大小、狀態(tài)、上游、下一次同步時(shí)間等信息,同步成功后的狀態(tài)如圖3所示。

        圖3 同步狀態(tài)

        3 結(jié)束語(yǔ)

        鏡像站的搭建,存儲(chǔ)上的充分利用和同步是關(guān)鍵。對(duì)信息中心存儲(chǔ)資源,基于HDFS 的分布式文件存儲(chǔ)系統(tǒng),能將存儲(chǔ)資源集中使用,而且有較好的冗余性,能在一部分節(jié)點(diǎn)失效的情況下對(duì)數(shù)據(jù)進(jìn)行恢復(fù),為高校建設(shè)屬于自己的鏡像站點(diǎn)提供了建議。本鏡像站點(diǎn)還在測(cè)試中,在完成后端的所有鏡像文件和軟件的同步之后可將其部署到公網(wǎng),一方面能使校園網(wǎng)的用戶(hù)直接用內(nèi)網(wǎng)進(jìn)行訪(fǎng)問(wèn),方便師生使用開(kāi)源軟件鏡像站點(diǎn),另一方面互聯(lián)網(wǎng)用戶(hù)也能訪(fǎng)問(wèn)使用,推動(dòng)開(kāi)源軟件社區(qū)的發(fā)展。

        本文描述的鏡像站還存在一定的不足和需改進(jìn)之處,比如數(shù)據(jù)丟失時(shí)的恢復(fù)機(jī)制;同時(shí)因?yàn)榇疟P(pán)空間有限,所以只是同步了一部分常用的鏡像文件和Linux 常用的軟件包,如果磁盤(pán)充足,可以同步更多的鏡像文件和軟件包,能達(dá)到很多商業(yè)軟件公司的效果。此外,由于目前的服務(wù)器是掛載在信息中心的備用服務(wù)器上,所以外網(wǎng)訪(fǎng)問(wèn)還是會(huì)受到很多影響,帶寬和校園網(wǎng)走的是同一條,所以當(dāng)校園網(wǎng)在線(xiàn)人數(shù)過(guò)多時(shí)就會(huì)出現(xiàn)網(wǎng)速變慢,如果有條件可以使用專(zhuān)門(mén)的寬帶進(jìn)行升級(jí),能有效提升網(wǎng)絡(luò)訪(fǎng)問(wèn)的速度。

        猜你喜歡
        鏡像開(kāi)源頁(yè)面
        大狗熊在睡覺(jué)
        刷新生活的頁(yè)面
        鏡像
        五毛錢(qián)能買(mǎi)多少頭牛
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        大家說(shuō):開(kāi)源、人工智能及創(chuàng)新
        開(kāi)源中國(guó)開(kāi)源世界高峰論壇圓桌會(huì)議縱論開(kāi)源與互聯(lián)網(wǎng)+創(chuàng)新2.0
        開(kāi)源計(jì)算機(jī)輔助翻譯工具研究
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        鏡像
        小康(2015年6期)2015-03-26 14:44:27
        国内揄拍国内精品| 亚洲天堂线上免费av| 国产免费一区二区三区三| 国产成人大片在线播放| 天天躁夜夜躁狠狠是什么心态| 国产高跟黑色丝袜在线| 毛茸茸的中国女bbw| 午夜毛片午夜女人喷潮视频| 久久国产精品99精品国产987| 色婷婷久久99综合精品jk白丝| 极品夫妻一区二区三区| 蜜桃av在线免费网站| 日韩精品无码中文字幕电影| 亚洲日韩精品国产一区二区三区| 免费无码中文字幕A级毛片| 精品国产成人一区二区不卡在线| 精品人妻69一区二区三区蜜桃| 人妻 丝袜美腿 中文字幕| 男女啪啪免费体验区| 人妻无码一区二区| 在线免费观看国产视频不卡| 草逼短视频免费看m3u8| 国产免费一区二区三区免费视频| 亚洲精品无码乱码成人| 欧美在线不卡视频| 亚洲成人色黄网站久久| 国产亚洲精品一区二区无| gv天堂gv无码男同在线观看| 国产真实乱人偷精品人妻| 国产精品av在线一区二区三区| 亚洲综合精品一区二区| 99视频在线精品免费观看6| 午夜精品久久久久成人| 亚洲男人天堂av在线| 国产一区二区三区免费av| 日本阿v片在线播放免费| 嫖妓丰满肥熟妇在线精品| 囯产精品无码一区二区三区AV| 在线观看日本一区二区三区| 亚洲视频网站大全免费看| 一二三四在线观看免费视频|