自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hadoop-0.20.0源代碼中關(guān)鍵的類

開發(fā) 架構(gòu) Hadoop
Hadoop相信大家應(yīng)該有所了解,這里向大家介紹一下Hadoop-0.20.0源代碼方面的內(nèi)容,希望通過本文的介紹大家對Hadoop-0.20.0源代碼有一定的認識,歡迎大家一起來學(xué)習(xí)。

本節(jié)和大家一起學(xué)習(xí)一下有關(guān)Hadoop-0.20.0源代碼方面的內(nèi)容,主要介紹幾個Hadoop中常用的類,相信通過本節(jié)的學(xué)習(xí)大家對Hadoop-0.20.0源代碼有一定的了解,讓我們一起來學(xué)習(xí)吧。

Hadoop-0.20.0源代碼分析

Hadoop框架是兩個模型實現(xiàn)的有機整合,亦即Hadoop分布式文件系統(tǒng)(HDFS)與MapReduce并行編程模型,也就是說,Hadoop框架要能夠提供的基本功能就是,在存儲系統(tǒng)HDFS上進行MapReduce并行計算,所以,如果想要了解Hadoop框架的工作原理和運行機制,主要從這兩個方面著手。
其實,Hadoop中MapReduce并行計算應(yīng)該是在HDFS實現(xiàn)的,因此了解計算所基于HDFS應(yīng)該是入口點,當(dāng)對HDFS有了一定的了解,就能夠知道這樣一個并行計算平臺能夠提供哪些進行計算的基礎(chǔ)要素。
當(dāng)然,在了解HDFS之前,應(yīng)該先熟悉一下Hadoop對文件系統(tǒng)FS是如何實現(xiàn)的,都提供了哪些操作。在org.apache.hadoop.fs包中,提供了文件系統(tǒng)的高層抽象(FileSystem類),基于該抽象的文件系統(tǒng),可以來實現(xiàn)滿足實際需要的文件系統(tǒng)實現(xiàn)類,例如用來在本地存儲原生文件的文件系統(tǒng)(RawLocalFileSystem),例如一個文件系統(tǒng)之上可以存在其它一些類型的文件系統(tǒng)(基于校驗和的文件系統(tǒng)ChecksumFileSystem類就是這樣的,ChecksumFileSystemextendsFilterFileSystem,F(xiàn)ilterFileSystem是一個最基本的文件系統(tǒng)實現(xiàn))。

我在閱讀源代碼的過程中,首先從與org.apache.hadoop.fs包中文件系統(tǒng)相關(guān)的其它包org.apache.hadoop.security開始。
org.apache.hadoop.security包中的一些類涉及到文件系統(tǒng)中用戶的信息,例如用戶權(quán)限等等。所以,為了能夠深入了解文件系統(tǒng)和方便閱讀源代碼,就應(yīng)該了解與文件系統(tǒng)相關(guān)的安全支持,實際上也就是位于Hadoop源代碼中org.apache.hadoop.security包中實現(xiàn)。
下面分別對其中關(guān)鍵類的源代碼進行閱讀分析:

Group類與User類

首先,org.apache.hadoop.security.Group類與org.apache.hadoop.security.User類都是一個實體類,表征一個屬于HDFS文件系統(tǒng)中存在的一類實體,它們的定義非常相似,下面只拿出Group類來說明。
Group類表示一個組的概念實現(xiàn),它實現(xiàn)了java.security.Principal接口,也就是說Group類表示一個用來容納一些對象的實體,比如一個組中可以包含多個不同的用戶,一個組中可以包含多種不同的權(quán)限,一個組中還可以包含多種授權(quán)的證書,等等。這個類比較容易,包含一個final修飾的組名稱的字段,也就是說一個組一旦創(chuàng)建就不能修改組名稱,Group類沒有提供修改組名稱的方法。新創(chuàng)建一個組的時候,需要指定組名稱。該類中比較重要的是equals方法,用來比較某個Object對象(組對象)是夠與該組(this)相互匹配。

UserGroupInformation抽象類

再來看一下Hadoop-0.20.0源代碼中UserGroupInformation抽象類。Hadoop框架中,分布式文件系統(tǒng)框架HDFS具有一個用來存儲用戶和組信息的實現(xiàn),它是通過一個位于org.apache.hadoop.security包中的UserGroupInformation抽象類來抽象這些信息的,如果對于特定的基于用戶和組的操作系統(tǒng),都可以繼承自該抽象類,用來實現(xiàn)表示用戶與組的一些信息的實體,及其一些簡單的操作。

UserGroupInformation類實現(xiàn)了org.apache.hadoop.io.Writable接口,該接口是Hadoop框架基于DataInput和DataOutput定義的一個序列化協(xié)議,實現(xiàn)該接口的類支持序列化操作。
總結(jié)一下,UserGroupInformation抽象類主要定義的操作如下:

1、獲取當(dāng)前用戶線程的用和組信息(UGI),通過getCurrentUGI()方法實現(xiàn)的;

2、獲取用戶名和組名,分別通過抽象方法getUserName()和getGroupNames()方法實現(xiàn)的;

3、根據(jù)Hadoop的配置類Configuration實例,登錄系統(tǒng)后返回一個UserGroupInformation類的實例,通過方法login(Configurationconf)實現(xiàn)的;

4、讀取Hadoop的配置類Configuration實例,返回一個UserGroupInformation類的實例,通過方法readFrom(Configurationconf)實現(xiàn)的。本節(jié)關(guān)于Hadoop-0.20.0源代碼方面的知識介紹到這里。

【編輯推薦】

  1. Hadoop分布式文件系統(tǒng)詳解
  2. Hadoop0.20.2集群配置入門指導(dǎo)手冊
  3. Hadoop文件系統(tǒng)如何快速安裝?
  4. Hadoop集群搭建過程中相關(guān)環(huán)境配置詳解
  5. Hadoop完全分布模式安裝實現(xiàn)詳解

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-07 11:30:24

Hadoop源代碼

2009-06-12 19:03:41

Hadoop源代碼Yahoo

2010-06-07 16:34:07

Hadoop0.20.

2009-03-10 08:59:18

2015-03-24 15:08:21

mapreducehadoop

2010-06-07 16:45:49

Hadoop0.20.

2009-07-17 16:49:18

lookandfeelSwing

2009-04-03 08:28:39

2010-03-17 17:11:04

Java線程通信

2013-12-18 16:18:23

CentOShttpd源代碼

2010-06-10 10:22:56

Chrome 源代碼擴展同步

2010-03-16 14:48:02

云計算

2012-03-28 14:50:40

2016-10-11 16:28:11

源代碼

2010-04-29 12:57:33

Unix源代碼

2010-08-03 10:16:52

Flex源代碼

2020-11-13 13:05:27

Java開發(fā)代碼

2010-03-29 16:48:18

Nginx內(nèi)核優(yōu)化

2024-04-08 11:35:34

C++static關(guān)鍵字

2011-09-13 18:01:09

Eclipse And
點贊
收藏

51CTO技術(shù)棧公眾號