欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

hadoop權(quán)限管理

系統(tǒng) 2730 0
1. 介紹

本文介紹的Hadoop權(quán)限管理包括以下幾個模塊:

(1) 用戶分組管理 。用于按組為單位組織管理,某個用戶只能向固定分組中提交作業(yè),只能使用固定分組中配置的資源;同時可以限制每個用戶提交的作業(yè)數(shù),使用的資源量等

(2) 作業(yè)管理 。包括作業(yè)提交權(quán)限控制,作業(yè)運行狀態(tài)查看權(quán)限控制等。如:可限定可提交作業(yè)的用戶;可限定可查看作業(yè)運行狀態(tài)的用戶;可限定普通用戶只能修改自己作業(yè)的優(yōu)先級,kill自己的作業(yè);高級用戶可以控制所有作業(yè)等。

想要支持權(quán)限管理需使用Fair Scheduler或者 Capacity Scheduler(作業(yè)管理需用到Hadoop的ACL(Access Control List)功能,啟用該功能需選擇一個支持多隊列管理的調(diào)度器)

2. 基本術(shù)語

(1) 用戶(User) :Hadoop使用Linux用戶管理,Hadoop中的用戶就是Linux中的用戶

(2) 分組(group) :Hadoop使用Linux分組管理,Hadoop中的分組就是Linux中的分組

(3) 池(pool) :Hadoop Fair Scheduler中的概念,一個pool可以是一個user,一個group,或者一個queue。

(4) 隊列(Queue) :隊列是Hadoop提出的概念,一個Queue可以由任意幾個Group和任意幾個User組成。

3. Hadoop中Fair Scheduler與Capacity Scheduler介紹

3.1 Fair Scheduler

Facebook開發(fā)的適合共享環(huán)境的調(diào)度器,支持多用戶多分組管理,每個分組可以配置資源量,也可限制每個用戶和每個分組中的并發(fā)運行作業(yè)數(shù)量;每個用戶的作業(yè)有優(yōu)先級,優(yōu)先級越高分配的資源越多。

3.2 Capacity Scheduler

Yahoo開發(fā)的適合共享環(huán)境的調(diào)度器,支持多用戶多隊列管理,每個隊列可以配置資源量,也可限制每個用戶和每個隊列的并發(fā)運行作業(yè)數(shù)量,也可限制每個作業(yè)使用的內(nèi)存量;每個用戶的作業(yè)有優(yōu)先級,在單個隊列中,作業(yè)按照先來先服務(wù)(實際上是先按照優(yōu)先級,優(yōu)先級相同的再按照作業(yè)提交時間)的原則進行調(diào)度。

3.3 Fair Scheduler vs Capacity Scheduler

(1) 相同點

[1] 均支持多用戶多隊列,即:適用于多用戶共享集群的應(yīng)用環(huán)境

[2] 單個隊列均支持優(yōu)先級和FIFO調(diào)度方式

[3] 均支持資源共享,即某個queue中的資源有剩余時,可共享給其他缺資源的queue

(2) 不同點

[1] 核心調(diào)度策略不同。 計算能力調(diào)度器的調(diào)度策略是,先選擇資源利用率低的queue,然后在queue中同時考慮FIFO和memory constraint因素;而公平調(diào)度器僅考慮公平,而公平是通過作業(yè)缺額體現(xiàn)的,調(diào)度器每次選擇缺額最大的job(queue的資源量,job優(yōu)先級等僅用于計算作業(yè)缺額)。

[2] 內(nèi)存約束。計算能力調(diào)度器調(diào)度job時會考慮作業(yè)的內(nèi)存限制,為了滿足某些特殊job的特殊內(nèi)存需求,可能會為該job分配多個slot;而公平調(diào)度器對這種特殊的job無能為力,只能殺掉這種task。

(3) 功能上的不同

Fair Scheduler不允許配置每個user使用的slot數(shù)上限,但允許搶占資源 ;而Capacity scheduler允許配置每個user使用的slot數(shù)上限,但暫時不支持資源搶占 。

4. 用戶分組管理

以Fair Scheduler(http://hadoop.apache.org/common/docs/r0.20.0/fair_scheduler.html )為例,按以下步驟進行:

(1) 將Fair Scheduler的jar包拷貝到lib中

如:cp ${HADOOP_HOME}/contrib/fairscheduler/hadoop-fairscheduler-0.20.2+320.jar ${HADOOP_HOME}/lib/

(2) 配置Queue相關(guān)信息

具體參考:

http://hadoop.apache.org/common/docs/r0.20.2/cluster_setup.html#Configuring+the+Hadoop+Daemons

在mapred-site.xml中添加以下內(nèi)容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
< property >
< name >mapred.acls.enabled</ name >
< value >true</ value >
</ property >
< property >
< name >mapred.queue.names</ name >
< value >my_group,default</ value >
</ property >
< property >
< name >mapred.queue.my_queue.acl-submit-job</ name >
< value > my_group</ value >
</ property >
< property >
< name >mapred.queue.default.acl-administer-jobs</ name >
< value ></ value >
</ property >
< property >
< name >mapred.queue.my_queue.acl-administer-jobs</ name >
< value ></ value >
</ property >

說明:

【1】 屬性mapred.queue.names是queue的所有名字,在這一名字中,必須有一個叫“default”的queue

【2】 每個queue均有一個屬性mapred.queue.<queue-name>.acl-submit-job,用于指定哪些user或者group可以向該queue中提交作業(yè)

【3】每個queue均有一個屬性mapred.queue.<queue-name>.acl-administer-jobs,用于指定哪些user或者group可以管理該queue中的所有作業(yè),即可以kill作業(yè),查看task運行狀態(tài)。一般而言,對于每個隊列,該選項為空即可,表示每個user只能管理自己的作業(yè)。

【4】 每個queue擁有的資源量和其他信息均在另外一個配置文件中指定(對于公平調(diào)度器,可以在fair-scheduler.xml中指定)

【5】 mapred.queue.<queue-name>.acl-submit-job和mapred.queue.<queue-name>.acl-administer-jobs配置方法如下:

用戶和用戶組之間用空格分開,用戶之間用“,”分割,用戶組之間用“,”分割,如果queue的屬性值中只有用戶組,則前面保留一個空格。

(3) 配置fair scheduler相關(guān)信息

在mapred-site.xml中添加以下內(nèi)容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
< property >
< name >mapred.jobtracker.taskScheduler</ name >
< value >org.apache.hadoop.mapred.FairScheduler</ value >
</ property >
< property >
< name >mapred.fairscheduler.poolnameproperty</ name >
< value >mapred.job.queue.name</ value >
</ property >
< property >
< name >mapred.fairscheduler.allocation.file</ name >
< value >/home/XXX/hadoop/conf/fair-scheduler.xml</ value >
</ property >

說明:

mapred.fairscheduler.poolnameproperty有三個可用值:默認情況下是user.name,即每個用戶獨自一個pool;group.name,即一個linux group一個pool,mapred.job.queue.name,即一個queue一個pool,如果要支持“作業(yè)管理”,需使用最后一種配置。

(4) 創(chuàng)建文件fair-scheduler.xml,并添加以下內(nèi)容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<? xml version = "1.0" ?>
< allocations >
< pool name = "my_queue" >
< minMaps >10</ minMaps >
< minReduces >10</ minReduces >
< maxRunningJobs >10</ maxRunningJobs >
< minSharePreemptionTimeout >300</ minSharePreemptionTimeout >
< weight >2.0</ weight >
</ pool >
< user name = "bob" >
< maxRunningJobs >5</ maxRunningJobs >
</ user >
< poolMaxJobsDefault >25</ poolMaxJobsDefault >
< userMaxJobsDefault >2</ userMaxJobsDefault >
< defaultMinSharePreemptionTimeout >600</ defaultMinSharePreemptionTimeout >
< fairSharePreemptionTimeout >600</ fairSharePreemptionTimeout >
</ allocations >

說明:

【1】各個字段的含義

<pool></pool>之間配置的是每個pool的信息,主要如下:

(a) minMaps:該pool可使用的map slot數(shù)

(b) minReduces:該pool可使用的reduce slot數(shù)

(c) maxRunningJobs:該pool最大運行作業(yè)數(shù)

(d) minSharePreemptionTimeout:該pool搶占資源的時間間隔,即本屬于自己的資源在改時間內(nèi)拿不到便會搶占。

(e) Weight:pool的權(quán)重,該值越大,能夠從共享區(qū)(有一些pool中的資源用不完,會共享給其他pool)中獲取的資源越多。

<user></user>之間配置某個用戶的約束:

maxRunningJobs:該用戶可同時運行的作業(yè)數(shù)

<poolMaxJobsDefault></poolMaxJobsDefault>之間配置默認情況下每個pool最大運行作業(yè)數(shù)

<userMaxJobsDefault></userMaxJobsDefault>之間配置默認情況下每個user最大運行作業(yè)數(shù)

……

【2】 該配置文件中可動態(tài)修改無需重啟Hadoop(修改后3s會被重新加載)

5. 作業(yè)管理

作業(yè)管理模塊由Hadoop的ACL(http://hadoop.apache.org/common/docs/r0.20.2/service_level_auth.html )完成。

(1) 在core-site.xmll中配置以下屬性:

1
2
3
4
5
6
7
< property >
< name >hadoop.security.authorization</ name >
< value >true</ value >
</ property >

(2) 配置${HADOOP_CONF_DIR}/hadoop-policy.xml

Hadoop有9個可配置的ACL屬性,每個屬性可指定擁有相應(yīng)訪問權(quán)限的用戶或者用戶組。這9個ACL屬性如下:

這9個ACL的配置方法相同,具體如下:

每個ACL可配置多個用戶,用戶之間用“,”分割;可配置多個用戶組,分組之間用“,”分割, 用戶和分組之間用空格分割,如果只有分組,前面保留一個空格,如:

1
2
3
4
5
6
7
< property >
< name >security.job.submission.protocol.acl</ name >
< value >alice,bob group1,group2</ value >
</ property >

說明: 用戶alice和bob, 分組group1和group2可提交作業(yè)

又如:

1
2
3
4
5
6
7
< property >
< name > security.client.protocol.acl </ name >
< value > group3</ value >
</ property >

說明:只有g(shù)roup3可訪問HDFS

1
2
3
4
5
6
7
< property >
< name >security.client.protocol.acl</ name >
< value >*</ value >
</ property >

說明:所有用戶和分組均可訪問HDFS

注意,默認情況下,這9個屬性不對任何用戶和分組開放。

該配置文件可使用以下命令動態(tài)加載:

(1) 更新namenode相關(guān)屬性: bin/hadoop dfsadmin –refreshServiceAcl

(2) 更新jobtracker相關(guān)屬性:bin/hadoop mradmin -refreshServiceAcl

6. 提交作業(yè)

用戶提交作業(yè)時,需用mapred.job.queue.name屬性告訴Hadoop你要將作業(yè)提交到哪個Queue中,具體如下:

(1) 如果你是用Java編寫Hadoop作業(yè),用-D mapred.job.queue.name指明提交到哪個queue,如:

1
2
3
4
5
6
7
8
9
$HADOOP_HOME / bin / hadoop jar wordcount.jar wordcount \
- D mapred. map .tasks = 1 \
- D mapred. reduce .tasks = 1 \
- D mapred.job.queue.name = infrastructure \
Input ouput

(2) 如果你使用Hadoop Pipes編寫作業(yè),用-D mapred.job.queue.name指明提交到哪個queue,如:

1
2
3
4
5
6
7
8
9
10
11
$HADOOP_HOME / bin / hadoop pipes \
- D hadoop.pipes.executable = / examples / bin / wordcount \
- D hadoop.pipes.java.recordreader = true \
- D hadoop.pipes.java.recordwriter = true \
- D mapred.job.queue.name = my_group \
- input in - dir - output out - dir

(3) 如果你使用Hadoop Streaming編寫作業(yè),用-D mapred.job.queue.name指明提交到哪個queue,如:

1
2
3
4
5
6
7
8
9
10
11
$HADOOP_HOME / bin / hadoop jar $HADOOP_HOME / hadoop - streaming.jar \
- input myInputDirs \
- output myOutputDir \
- mapper myPythonScript.py \
- reducer / bin / wc \
- D mapred.job.queue.name = my_group

7. 參考資料

http://hadoop.apache.org/common/docs/r0.20.2/cluster_setup.html#Configuring+the+Hadoop+Daemons

http://hadoop.apache.org/common/docs/r0.20.2/service_level_auth.html

http://hadoop.apache.org/common/docs/r0.20.0/fair_scheduler.html

hadoop權(quán)限管理


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美不卡一区二区三区在线观看 | 成人久久一区 | 中文字幕国产一区 | 欧美精品成人一区二区三区四区 | 一区二区三区四区在线 | 在线不卡一区 | 国产日韩一区二区三区 | 日本黄 色 成 年 人免费观看 | 毛片网站在线 | 亚洲国产女人aaa毛片在线 | 嫩草影院在线看 | 久久久九九精品国产毛片A片 | 欧美一区二区三区精品国产 | 精品国产一级毛片大全 | 免费国产一区二区在免费观看 | 日本一二三区视频 | 欧美久在线观看在线观看 | 三级免费黄色片 | 亚洲日本在线天堂无码 | 亚洲精品久久久久综合中文字幕 | 国产真实乱子伦清晰对白 | 欧美视频在线第一页 | 一区二区三区四区在线 | 国产精品视频999 | 婷婷在线观看网站 | 国产精品久久人妻无码网站蜜臀 | 色综合中文字幕 | 免费精品 | 日日摸天天碰中文字幕 | 国产色产综合色产在线观看视频 | 美女伊人| 久久九色 | 国产在线精品一区二区高清不卡 | 日本高清色www | 久久国产综合 | 奇米在线观看视频 | 久草免费在线 | 看一天影院宅急看在线观看 | 婷婷综合网站 | 亚洲午夜在线视频 | 久久久久久国产精品mv |