大數(shù)據(jù)環(huán)境下MapReduce準(zhǔn)入控制的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
大數(shù)據(jù)環(huán)境下MapReduce準(zhǔn)入控制的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
大數(shù)據(jù)環(huán)境下MapReduce準(zhǔn)入控制的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
大數(shù)據(jù)環(huán)境下MapReduce準(zhǔn)入控制的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
大數(shù)據(jù)環(huán)境下MapReduce準(zhǔn)入控制的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第22卷第10期計(jì)算機(jī)應(yīng)用與軟件Vol.22, No.102005年10月Computer Applications and SoftwareOct. 2005第 卷第 期 計(jì)算機(jī)應(yīng)用與軟件 Vol. No.2005年1月 Computer Applications and Software Jan. 2005大數(shù)據(jù)環(huán)境下MapReduce準(zhǔn)入控制的設(shè)計(jì)與實(shí)現(xiàn)李亞如1劉建華2 (1.西安郵電大學(xué) HYPERLINK /shop/fid-223939-5.html 通信與信息工程學(xué)院,陜西 西安 710061 2.西安郵電大學(xué) 信息中心,陜西 西安 710061 )摘 要:為了保證Hadoop平

2、臺(tái)的安全性,確保執(zhí)行MapReduce作業(yè)的TaskTracker節(jié)點(diǎn)符合Hadoop平臺(tái)的安全管理要求,杜絕非法用戶對(duì)TaskTracker節(jié)點(diǎn)訪問并對(duì)其分配任務(wù),提出了一種對(duì)JobTracker節(jié)點(diǎn)進(jìn)行身份認(rèn)證的方法,設(shè)計(jì)實(shí)現(xiàn)了對(duì)JobTracker節(jié)點(diǎn)進(jìn)行身份認(rèn)證的認(rèn)證體系。該認(rèn)證體系主要是基于802.1x進(jìn)行準(zhǔn)入控制,重點(diǎn)分析了MapReduce分布式計(jì)算的流程,提出了總體設(shè)計(jì)方案,完成了相關(guān)模塊的配置實(shí)現(xiàn),最終結(jié)果顯示只有通過認(rèn)證的JobTracker才能通過交換機(jī)的可控端口給相應(yīng)的TaskTracker節(jié)點(diǎn)分配任務(wù),有效地避免了非法用戶的訪問,增強(qiáng)了Hadoop平臺(tái)的安全性、可靠性

3、,為建設(shè)安全的大數(shù)據(jù)環(huán)境提供了很好的技術(shù)支持。 關(guān)鍵詞:Hadoop;TaskTracker節(jié)點(diǎn);802.1x ;大數(shù)據(jù)中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:ADesign and Implementation of Mapreduce Access Control in Big Data Environment Li Yaru ,Liu Jianhua (1.School of Communication and Information Engineering,Xian University of Posts and Telecommunications,Xian 710061, China

4、2.Information center, School of Communication and Information Engineering,Xian University of Posts and Telecommunications,Xian 710061, China ) Abstract:In order to ensure the security of Hadoop platform,to ensure that the TaskTracker node of the MapReduce operation is in accordance with the safety m

5、anagement requirements of the Hadoop platform, Put an end to the illegal users access to TaskTracker node and the assigned task, A method of authentication for JobTracker node is proposed, Design and implementation of the authentication system for JobTracker nodes. The certification system is mainly

6、 based on 802.1x performs admission control, Focus on the analysis of the process of MapReduce distributed computing, Put forward the overall design scheme, Complete the configuration of the relevant module, The final result shows that the TaskTracker node assignment can be assigned to the correspon

7、ding JobTracker node through the control of the switch, Effectively avoid the illegal user access, Enhanced security and reliability of the Hadoop platform, For the construction safety of big data environment provides a good technical support.Key words:Hadoop;TaskTracker node;802.1x;Big data 0 引言 作者

8、簡(jiǎn)介:李亞如(1988-),女,陜西西安市人,碩士研究生,主要從事網(wǎng)絡(luò)信息安全方向的研究。劉建華(1963-),男,陜西西安市,教授,高級(jí)工程師,主要從事信息安全方向的研究。隨著網(wǎng)絡(luò)的普及和發(fā)展,數(shù)據(jù)正在以爆炸式的方式生產(chǎn)積累,世界已進(jìn)入網(wǎng)絡(luò)化的大數(shù)據(jù)時(shí)代,然而大規(guī)模數(shù)據(jù)的匯集無形中加大了信息泄漏的風(fēng)險(xiǎn)性,因此大數(shù)據(jù)的安全問題成為新的挑戰(zhàn)。Hadoop作為對(duì)大數(shù)據(jù)時(shí)代所特有的數(shù)據(jù)進(jìn)行存儲(chǔ)和處理的框架,以成本低、搭建靈活、便于管理等優(yōu)勢(shì),在互聯(lián)網(wǎng)的各個(gè)領(lǐng)域得到了廣泛的應(yīng)用和發(fā)展,但其安全機(jī)制薄弱缺乏一個(gè)安全認(rèn)證機(jī)制,以致無法保證在集群上進(jìn)行操作的用戶為合法用戶 REF _Ref15836 w h

9、 1。就MapReduce分布式計(jì)算框架而言,JobTracker通過分配任務(wù)給TaskTracker節(jié)點(diǎn)運(yùn)行,來協(xié)調(diào)管理全部運(yùn)行在平臺(tái)上的作業(yè),如果任意用戶都可訪問TaskTracker節(jié)點(diǎn)并對(duì)其分配任務(wù),會(huì)導(dǎo)致信息的泄露產(chǎn)生嚴(yán)重后果,這將直接影響著整個(gè)平臺(tái)的安全性能 REF _Ref15963 w h 2 REF _Ref15970 w h 3。本文通過對(duì)Hadoop的MapReduce分布式計(jì)算框架的研究,改良其不足之處,設(shè)計(jì)實(shí)現(xiàn)對(duì)MapReduce進(jìn)行基于802.1x的準(zhǔn)入控制,從而避免非法用戶訪問TaskTracker節(jié)點(diǎn)并對(duì)其分配任務(wù),對(duì)提高Hadoop平臺(tái)的整體安全性能具有重要的

10、現(xiàn)實(shí)意義。1 系統(tǒng)總體設(shè)計(jì)Hadoop是一個(gè)能夠在集群上對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分布式計(jì)算和處理的開源框架,實(shí)現(xiàn)了Google的Map-Reduce編程模型和框架,能夠把應(yīng)用程序分割成許多小的工作單元,并把這些單元放到集群的節(jié)點(diǎn)上執(zhí)行處理 REF _Ref16058 w h 4。Hadoop框架最核心的兩個(gè)設(shè)計(jì)模塊就是HDFS分布式文件系統(tǒng)和MapReduce分布式計(jì)算框架。HDFS以流式數(shù)據(jù)訪問的模式實(shí)現(xiàn)了大規(guī)模數(shù)據(jù)的存儲(chǔ),MapReduce實(shí)現(xiàn)了對(duì)海量數(shù)據(jù)進(jìn)行并行計(jì)算處理的應(yīng)用 REF _Ref16143 w h 5。 當(dāng)client節(jié)點(diǎn)向Hadoop集群提交一個(gè)MapReduce作業(yè)時(shí),JobC

11、lient調(diào)用runJob()方法創(chuàng)建JobClient實(shí)例并通過調(diào)用其submitJob()方法提交作業(yè),與此同時(shí)JobClient會(huì)在client節(jié)點(diǎn)將運(yùn)行作業(yè)所需的資源信息打包成jar文件存儲(chǔ)到HDFS中。當(dāng)JobTracker接收到submitJob()方法的調(diào)用后,會(huì)創(chuàng)建一個(gè)正在運(yùn)行的作業(yè)對(duì)象,為創(chuàng)建任務(wù)運(yùn)行列表,JobTracker需從共享文件系統(tǒng)(Shared FileSystem)中檢索Hadoop已劃分好的獨(dú)立的輸入數(shù)據(jù)分片(input slipt)。為了確保試圖在Hadoop集群上對(duì)TaskTracker節(jié)點(diǎn)執(zhí)行操作的用戶為安全合法用戶,JobTracker將每一個(gè)分片創(chuàng)建

12、的task任務(wù)發(fā)送給TaskTracker時(shí)需通過認(rèn)證者進(jìn)行身份驗(yàn)證,若為合法的安全用戶,任務(wù)發(fā)送成功,若不合法,任務(wù)發(fā)送失敗并重新進(jìn)行身份驗(yàn)證。當(dāng)TaskTracker接收到分配的任務(wù)后,首先將任務(wù)所包含的所有信息從共享文件中檢索緩存,然后創(chuàng)建一個(gè)TaskRunner實(shí)例來執(zhí)行該任務(wù),TaskRunner將啟動(dòng)一個(gè)新的JVM運(yùn)行Map 任務(wù)或Reduce 任務(wù),以確保Map和Reduce的獨(dú)立性。具體系統(tǒng)的總體設(shè)計(jì)如圖1所示: 圖1 具體系統(tǒng)的總體設(shè)計(jì)對(duì)于hadoop集群執(zhí)行MapReduce作業(yè)的過程來講,主要分為五個(gè)獨(dú)立的部分:Client節(jié)點(diǎn)、JobTracker節(jié)點(diǎn)、TaskTrac

13、ke節(jié)點(diǎn)、HDFS和認(rèn)證者。具體各部分功能概述如表1所示。其中JobTracker節(jié)點(diǎn)、TaskTracke節(jié)點(diǎn)和認(rèn)證者構(gòu)成了認(rèn)證體系,在認(rèn)證體系模塊中進(jìn)行詳細(xì)的介紹。client節(jié)點(diǎn)負(fù)責(zé)提交MapReduce作業(yè)JobTracker節(jié)點(diǎn)負(fù)責(zé)各個(gè)作業(yè)任務(wù)的分配TaskTracker節(jié)點(diǎn)負(fù)責(zé)具體任務(wù)的執(zhí)行HDFS負(fù)責(zé)存儲(chǔ)并共享任務(wù)認(rèn)證者負(fù)責(zé)控制端口的狀態(tài)表1 各部分功能概述2 具體的設(shè)計(jì)方案2.1 Hadoop集群的配置方案Hadoop集群是一種典型的主從式架構(gòu),它可劃分為Master和Slave兩個(gè)角色, 其中在Master節(jié)點(diǎn)上運(yùn)行著NameNode、JobTracker,而在每個(gè)Slave

14、節(jié)點(diǎn)上,都部署一個(gè)DataNode和TaskTracker。Hadoop是基于Java編程語言的可運(yùn)行在大型主機(jī)群上的應(yīng)用程序,因此對(duì)Hadoop進(jìn)行安裝之前首先要配置SSH和支持Java運(yùn)行環(huán)境的JDK,其中SSH和JDK的配置安裝沒有先后順序。配置完成SSH和JDK后,再進(jìn)行Hadoop的安裝配置,最后完成Hadoop集群的搭建。2.1.1 SSH和JDK的配置Hadoop通過SSH(Secure Shell)來管理其守護(hù)進(jìn)程,因此必須安裝SSH。在完全分布的模式下,Hadoop控制腳本依賴SSH來執(zhí)行針對(duì)整個(gè)集群的操作,為了支持無縫工作,需要在各個(gè)節(jié)點(diǎn)之間執(zhí)行指令的時(shí)候進(jìn)行無密碼登陸的形

15、式,所以在配置SSH需要無密碼公鑰認(rèn)證的形式。首先確保 Hadoop集群的各個(gè)節(jié)點(diǎn)中SSH 已經(jīng)被安裝。為了實(shí)現(xiàn)無密碼登錄,在集群的master節(jié)點(diǎn)下生成一組無密碼登錄的密鑰,在默認(rèn)的情況下將authorized_keys文件復(fù)制到各個(gè)授權(quán)的slave節(jié)點(diǎn)的/.ssh 目錄下。這樣配置之后,master節(jié)點(diǎn)可以無密碼登錄所有的slave節(jié)點(diǎn)。配置支持Java運(yùn)行環(huán)境的JDK之前,先對(duì)集群的各個(gè)節(jié)點(diǎn)安裝jdk1.8.0_51并保證其安裝路徑一致,在此基礎(chǔ)上對(duì)/.bashrc文件中的環(huán)境變量JAVA_HOME、CLASSPATH、PATH和JRE_HOME進(jìn)行配置。2.1.2 Hadoop的配置搭

16、建Hadoop集群首先在Master節(jié)點(diǎn)上安裝Hadoop,本系統(tǒng)使用的Hadoop版本為hadoop-1.2.1。安裝完成之后需要在hadoop/conf目錄下進(jìn)行配置,其常用的三個(gè)配置文件為core-site.xml文件、hdfs-site.xml文件、mapred-site.xml文件,分別完成對(duì)HDFS地址和端口、HDFS數(shù)據(jù)副本數(shù)量、MapReduce的地址和端口的配置。啟動(dòng) Hadoop之前,需要對(duì)Hadoop 的HDFS文件系統(tǒng)進(jìn)行格式化,在Master節(jié)點(diǎn)hadoop的安裝目錄下輸入bin/hadoop namenode -format命令格式化文件系統(tǒng),自此 Hadoop 的

17、文件配置全部完成。2.1.3 Hadoop集群的搭建完成Master節(jié)點(diǎn)的Hadoop安裝配置后,將該節(jié)點(diǎn)的hadoop文件夾拷貝至其他Slave節(jié)點(diǎn)處即可完成集群配置,在Master節(jié)點(diǎn)hadoop的安裝目錄下執(zhí)行bin/start-all.sh命令啟動(dòng) Hadoop集群。2.2 認(rèn)證體系的配置方案在Hadoop平臺(tái)執(zhí)行MapReduce作業(yè)的過程中,JobTracker節(jié)點(diǎn)作為請(qǐng)求者向TaskTracker節(jié)點(diǎn)發(fā)送分配任務(wù)時(shí),根據(jù)802.1x認(rèn)證程序,輸入認(rèn)證信息發(fā)起802.1x認(rèn)證,認(rèn)證者通過非可控端口收到請(qǐng)求者提交的認(rèn)證數(shù)據(jù)信息,發(fā)送至TaskTracker節(jié)點(diǎn)上的認(rèn)證服務(wù)器進(jìn)行驗(yàn)證,

18、服務(wù)器將接收到的用戶信息與數(shù)據(jù)庫中的用戶信息進(jìn)行比對(duì),如果用戶信息一致則認(rèn)證成功,可控端口打開任務(wù)發(fā)送成功,如果認(rèn)證失敗,交換機(jī)的端口保持關(guān)閉狀態(tài),任務(wù)分配失敗。802.1x是一種基于物理端口或邏輯端口(如VLAN)的認(rèn)證協(xié)議,是一種對(duì)用戶身份進(jìn)行認(rèn)證的方法和策略。進(jìn)行802.1x認(rèn)證的最終目的就是限制未授權(quán)的用戶或設(shè)備通過端口接入網(wǎng)絡(luò) REF _Ref16267 w h 6 REF _Ref16273 w h 7。它的體系結(jié)構(gòu)包括二個(gè)模塊:即請(qǐng)求模塊、認(rèn)證模塊,其中認(rèn)證模塊包括認(rèn)證者和認(rèn)證服務(wù)器。具體的認(rèn)證體系結(jié)構(gòu)如圖2所示。圖 2 認(rèn)證體系結(jié)構(gòu)2.2.1請(qǐng)求模塊的配置請(qǐng)求模塊一般是支持80

19、2.1x認(rèn)證的用戶終端設(shè)備,用戶通過啟動(dòng)客戶端軟件發(fā)起802.1x認(rèn)證,由認(rèn)證系統(tǒng)對(duì)其進(jìn)行身份認(rèn)證來實(shí)現(xiàn)基于端口的接入控制 REF _Ref16342 w h 8 REF _Ref16345 w h 9。在MapReduce作業(yè)執(zhí)行的過程中JobTracker節(jié)點(diǎn)作為請(qǐng)求者訪問被分配任務(wù)的TaskTracker節(jié)點(diǎn),因此在JobTracker節(jié)點(diǎn)進(jìn)行配置以實(shí)現(xiàn)對(duì)802.1x認(rèn)證標(biāo)準(zhǔn)的支持。2.2.2認(rèn)證模塊的配置在hadoop 集群中執(zhí)行MapReduce作業(yè)的過程中,交換機(jī)和被分配任務(wù)的TaskTracker節(jié)點(diǎn)充當(dāng)了認(rèn)證體系中的認(rèn)證模塊。交換機(jī)作為認(rèn)證者通常為兩層可網(wǎng)管的交換機(jī),其作用就是

20、在端口上啟用802.1x進(jìn)行認(rèn)證、指定認(rèn)證服務(wù)器的信息以及根據(jù)認(rèn)證結(jié)果控制端口狀態(tài)等。TaskTracker節(jié)點(diǎn)作為認(rèn)證服務(wù)器為認(rèn)證系統(tǒng)提供認(rèn)證服務(wù)的實(shí)體,本系統(tǒng)使用freeradius服務(wù)器來實(shí)現(xiàn)認(rèn)證服務(wù)器的認(rèn)證和授權(quán)功能。freeradius是一款開源的、免費(fèi)的服務(wù)器軟件,不僅具有一般radius服務(wù)器所具有的認(rèn)證、授權(quán)和計(jì)費(fèi)功能,還可以靈活的配置和發(fā)送請(qǐng)求 REF _Ref16440 w h 10。在TaskTracker節(jié)點(diǎn)上安裝freeradius軟件,并對(duì)其進(jìn)行相關(guān)的配置,從而實(shí)現(xiàn)在Hadoop平臺(tái)下的認(rèn)證服務(wù)器。由于需要在服務(wù)器系統(tǒng)通過獲取mysql數(shù)據(jù)庫中存儲(chǔ)的用戶名和密碼等認(rèn)

21、證信息,以此來校驗(yàn)JobTracker節(jié)點(diǎn)發(fā)送來的認(rèn)證信息,所以需先安裝mysql數(shù)據(jù)庫。安裝完數(shù)據(jù)庫之后再安裝freeradius并對(duì)其進(jìn)行配置。配置完成后,啟動(dòng)服務(wù)器,在終端輸入radtest test test 47 100 testing123,可以看到服務(wù)器收到了請(qǐng)求,并返回成功接收信息。如圖3所示:圖3 配置成功后服務(wù)器狀態(tài)3 實(shí)驗(yàn)結(jié)果與分析 根據(jù)上述的設(shè)計(jì)方案,利用實(shí)驗(yàn)室的資源搭建了一個(gè)Hadoop集群的實(shí)驗(yàn)平臺(tái),實(shí)現(xiàn)對(duì)TaskTracker節(jié)點(diǎn)進(jìn)行訪問控制的驗(yàn)證。整個(gè)實(shí)驗(yàn)平臺(tái)由3臺(tái)普通的pc機(jī)和一個(gè)可網(wǎng)管的銳捷交換機(jī)組成,操作系統(tǒng)選擇ubuntu,支持Java運(yùn)行環(huán)境的JDK版

22、本為jdk-8u51-linux,Hadoop軟件版本為Hadoop-1.2.1,實(shí)現(xiàn)認(rèn)證功能的服務(wù)器軟件為freeradius。在Hadoop的實(shí)驗(yàn)平臺(tái),將pc1作為JobTracker節(jié)點(diǎn),pc2和pc3作為TaskTracker節(jié)點(diǎn)。平臺(tái)結(jié)構(gòu)示意如圖4所示:圖4 平臺(tái)結(jié)構(gòu)示意圖在master節(jié)點(diǎn)的hadoop安裝目錄下使用bin/start-all.sh命令開啟hadoop集群,然后可以通過 web 模式看到MapReduce基本信息的管理界面如圖5所示,通過該界面我們可以看到MapReduce 系統(tǒng)的運(yùn)行狀態(tài),啟動(dòng)時(shí)間等基本信息,以及集群正在運(yùn)行的 maps 和 reduces 數(shù)目,

23、活躍節(jié)點(diǎn)數(shù),Maptask 的容量,Reducetask的容量等的摘要信息。圖5 MapReduce 管理界面為了實(shí)現(xiàn)對(duì)TaskTracker節(jié)點(diǎn)進(jìn)行訪問控制的驗(yàn)證,開啟TaskTracker節(jié)點(diǎn)的 freeradius服務(wù)器來進(jìn)行實(shí)驗(yàn)測(cè)試。我們采用系統(tǒng)的 wordcount程序?qū)斎胛募M(jìn)行單詞個(gè)數(shù)統(tǒng)計(jì),并匯總所有統(tǒng)計(jì)結(jié)果輸出。輸入實(shí)驗(yàn)測(cè)試信息,彈出用戶輸入憑據(jù),如圖6所示:圖6 用戶輸入憑據(jù)輸入正確的用戶信息后,點(diǎn)擊連接。實(shí)驗(yàn)運(yùn)行結(jié)束,可以通過 web 模式看到實(shí)驗(yàn)結(jié)果信息的管理界面,如圖7所示:圖7 實(shí)驗(yàn)結(jié)果界面通過在Hadoop的實(shí)驗(yàn)平臺(tái)運(yùn)行wordcount程序作業(yè)對(duì)TaskTracker節(jié)點(diǎn)進(jìn)行身份認(rèn)證的實(shí)驗(yàn),實(shí)現(xiàn)了Hadoop平臺(tái)中對(duì)TaskTracker節(jié)點(diǎn)進(jìn)行身份認(rèn)證的安全控制。從實(shí)際效果來看,系統(tǒng)整體運(yùn)行狀況平穩(wěn),達(dá)到了系統(tǒng)設(shè)計(jì)目標(biāo)。4 結(jié)束語Hadoop作為一個(gè)能夠?qū)A繑?shù)據(jù)進(jìn)行分布式存儲(chǔ)和計(jì)算的平臺(tái),在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。MapReduce分布式計(jì)算作為Hadoop的核心技術(shù)之一,主要對(duì)海量數(shù)據(jù)進(jìn)行分布式計(jì)算處理。但是目前在MapReduce計(jì)算的環(huán)境中缺乏一個(gè)安全機(jī)制,無法保證對(duì)TaskTracker節(jié)點(diǎn)進(jìn)行任務(wù)分配的是合法安全的用戶,本設(shè)計(jì)通過使用802.1協(xié)議的網(wǎng)絡(luò)準(zhǔn)入控制對(duì)訪問者進(jìn)行身份驗(yàn)證,有效

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論