偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

解析Hadoop 的集群管理與安全機(jī)制

云計(jì)算 云安全 Hadoop
當(dāng)前大一點(diǎn)的公司都采用了共享Hadoop集群的模式,這種模式可以減小維護(hù)成本,且避免數(shù)據(jù)過度冗余,增加硬件成本。共享集群類似于云計(jì)算或者云存儲,面臨的一個(gè)最大問題是安全。本文就對Hadoop 的集群管理與安全機(jī)制進(jìn)行講解。

HDFS數(shù)據(jù)管理

1、設(shè)置元數(shù)據(jù)與數(shù)據(jù)的存儲路徑,通過

dfs.name.dir,dfs.data.dir,fs.checkpoint.dir(hadoop1.x)、

hadoop.tmp.dir,dfs.namenode.name.dir,dfs.namenode.edits.dir,dfs.datanode.data.dir(hadoop2.x)等屬性來設(shè)置;

2、經(jīng)常執(zhí)行HDFS文件系統(tǒng)檢查工具FSCK,eg:hdfs fsck /liguodong -files -blocks;

 

  1. [root@slave1 mapreduce]# hdfs fsck /input 
  2. Connecting to namenode via http://slave1:50070 
  3. FSCK started by root (auth:SIMPLE) from /172.23.253.22 for path /input at Tue Jun 16 21:29:21 CST 2015 
  4. .Status: HEALTHY 
  5.  Total size:    80 B 
  6.  Total dirs:    0 
  7.  Total files:   1 
  8.  Total symlinks:                0 
  9.  Total blocks (validated):      1 (avg. block size 80 B) 
  10.  Minimally replicated blocks:   1 (100.0 %) 
  11.  Over-replicated blocks:        0 (0.0 %) 
  12.  Under-replicated blocks:       0 (0.0 %) 
  13.  Mis-replicated blocks:         0 (0.0 %) 
  14.  Default replication factor:    1 
  15.  Average block replication:     1.0 
  16.  Corrupt blocks:                0 
  17.  Missing replicas:              0 (0.0 %) 
  18.  Number of data-nodes:          1 
  19.  Number of racks:               1 
  20. FSCK ended at Tue Jun 16 21:29:21 CST 2015 in 1 milliseconds 
  21.  
  22. The filesystem under path '/input' is HEALTHY 

 

3、一旦數(shù)據(jù)發(fā)生異常,可以設(shè)置NameNode為安全模式,這時(shí)NameNode為只讀模式;

操作命令:hdfs dfsadmin -safemode enter | leave | get | wait

 

  1. [root@slave1 mapreduce]# hdfs dfsadmin -report 
  2. Configured Capacity: 52844687360 (49.22 GB) 
  3. Present Capacity: 45767090176 (42.62 GB) 
  4. DFS Remaining: 45766246400 (42.62 GB) 
  5. DFS Used: 843776 (824 KB) 
  6. DFS Used%: 0.00
  7. Under replicated blocks: 0 
  8. Blocks with corrupt replicas: 0 
  9. Missing blocks: 0 
  10.  
  11. ------------------------------------------------- 
  12. Datanodes available: 1 (1 total, 0 dead) 
  13.  
  14. Live datanodes: 
  15. Name: 172.23.253.22:50010 (slave1) 
  16. Hostname: slave1 
  17. Decommission Status : Normal 
  18. Configured Capacity: 52844687360 (49.22 GB) 
  19. DFS Used: 843776 (824 KB) 
  20. Non DFS Used: 7077597184 (6.59 GB) 
  21. DFS Remaining: 45766246400 (42.62 GB) 
  22. DFS Used%: 0.00
  23. DFS Remaining%: 86.61
  24. Last contact: Tue Jun 16 21:27:17 CST 2015 
  25.  
  26. [root@slave1 mapreduce]# hdfs dfsadmin -safemode get 
  27. Safe mode is OFF 

 

4、每一個(gè)DataNode都會運(yùn)行一個(gè)數(shù)據(jù)掃描線程,它可以檢測并通過修復(fù)命令來修復(fù)壞塊或丟失的數(shù)據(jù)塊,通過屬性設(shè)置掃描周期;

dfs.datanode.scan.period.hourses, 默認(rèn)是504小時(shí)。

MapReduce作業(yè)管理

查看Job信息:mapred job -list;

殺死Job:mapred job -kill;

查看指定路徑下的歷史日志匯總:mapred job -history output-dir;

打印map和reduce完成的百分比和所有計(jì)數(shù)器:mapred job -status job_id;

 

  1. [root@slave1 mapreduce]# mapred job 
  2. Usage: CLI <command> <args> 
  3.         [-submit <job-file>] 
  4.         [-status <job-id>] 
  5.         [-counter <job-id> <group-name> <counter-name>] 
  6.         [-kill <job-id>] 
  7.         [-set-priority <job-id> <priority>]. Valid values for priorities are: VERY_HIGH HIGH NORMAL LOW VERY_LOW 
  8.         [-events <job-id> <from-event-#> <#-of-events>] 
  9.         [-history <jobHistoryFile>] 
  10.         [-list [all]] 
  11.         [-list-active-trackers] 
  12.         [-list-blacklisted-trackers] 
  13.         [-list-attempt-ids <job-id> <task-type> <task-state>]. Valid values for <task-type> are REDUCE MAP. Valid values for <task-state> are running, completed 
  14.         [-kill-task <task-attempt-id>] 
  15.         [-fail-task <task-attempt-id>] 
  16.         [-logs <job-id> <task-attempt-id>] 
  17.  
  18. Generic options supported are 
  19. -conf <configuration file>     specify an application configuration file 
  20. -D <property=value>            use value for given property 
  21. -fs <local|namenode:port>      specify a namenode 
  22. -jt <local|jobtracker:port>    specify a job tracker 
  23. -files <comma separated list of files>    specify comma separated files to be copied to the map reduce cluster 
  24. -libjars <comma separated list of jars>    specify comma separated jar files to include in the classpath. 
  25. -archives <comma separated list of archives>    specify comma separated archives to be unarchived on the compute machines. 
  26.  
  27.  
  28. [root@slave1 mapreduce]# mapred job -list 
  29. 15/06/16 21:33:25 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 
  30. Total jobs:0 
  31. JobId  State  StartTime  UserName  Queue  Priority  UsedContainers  RsvdContainers  UsedMem RsvdMem    NeededMem    AM info 

 

#p#

Hadoop集群安全

Hadoop自帶兩種安全機(jī)制:Simple機(jī)制、Kerberos機(jī)制

1、Simple機(jī)制:

Simple機(jī)制是JAAS協(xié)議與delegation token結(jié)合的一種機(jī)制,JAAS(Java Authentication and Authorization Service)java認(rèn)證與授權(quán)服務(wù);

(1)用戶提交作業(yè)時(shí),JobTracker端要進(jìn)行身份核實(shí),先是驗(yàn)證到底是不是這個(gè)人,即通過檢查執(zhí)行當(dāng)前代碼的人與JobConf中的user.name中的用戶是否一致;

(2)然后檢查ACL(Access Control List)配置文件(由管理員配置)看你是否有提交作業(yè)的權(quán)限。一旦你通過驗(yàn)證,會獲取HDFS或者mapreduce授予的delegation token(訪問不同模塊有不同的delegation token),之后的任何操作,比如訪問文件,均要檢查該token是否存在,且使用者跟之前注冊使用該token的人是否一致。

2、Kerberos機(jī)制:

Kerberos機(jī)制是基于認(rèn)證服務(wù)器的一種方式;

 

Princal(安全個(gè)體):被認(rèn)證的個(gè)體,有一個(gè)名字和口令;

KDC(key distribution center):是一個(gè)網(wǎng)絡(luò)服務(wù),提供ticket和臨時(shí)會話密鑰;

Ticket:一個(gè)記錄,客戶用它來向服務(wù)器證明自己的身份,包括客戶標(biāo)識、會話密鑰、時(shí)間戳;

AS(Authentication Server):認(rèn)證服務(wù)器;

TSG(Ticket Granting Server):許可認(rèn)證服務(wù)器;

 

[[137086]]

(1)Client將之前獲得TGT和要請求的服務(wù)信息(服務(wù)名等)發(fā)送給KDC,

KDC中的Ticket Granting Service將為Client和Service之間生成一個(gè)Session Key用于Service對Client的身份鑒別。

然后KDC將這個(gè)Session Key和用戶名,用戶地址(IP),服務(wù)名,有效期, 時(shí)間戳一起包裝成一個(gè)Ticket(這些信息最終用于Service對Client的身份鑒別)發(fā)送給Service,

不過Kerberos協(xié)議并沒有直接將Ticket發(fā)送給Service,而是通過Client轉(zhuǎn)發(fā)給Service,所以有了第二步。

(2)此時(shí)KDC將剛才的Ticket轉(zhuǎn)發(fā)給Client。

由于這個(gè)Ticket是要給Service的,不能讓Client看到,所以KDC用協(xié)議開始前KDC與Service之間的密鑰將Ticket加密后再發(fā)送給Client。

同時(shí)為了讓Client和Service之間共享那個(gè)密鑰(KDC在***步為它們創(chuàng)建的Session Key),

KDC用Client與它之間的密鑰將Session Key加密隨加密的Ticket一起返回給Client。

(3)為了完成Ticket的傳遞,Client將剛才收到的Ticket轉(zhuǎn)發(fā)到Service。

由于Client不知道KDC與Service之間的密鑰,所以它無法算改Ticket中的信息。

同時(shí)Client將收到的Session Key解密出來,然后將自己的用戶名,用戶地址(IP)打包成Authenticator用Session Key加密也發(fā)送給Service。

(4)Service 收到Ticket后利用它與KDC之間的密鑰將Ticket中的信息解密出來,從而獲得Session Key和用戶名,用戶地址(IP),服務(wù)名,有效期。

然后再用Session Key將Authenticator解密從而獲得用戶名,用戶地址(IP)將其與之前Ticket中解密出來的用戶名,用戶地址(IP)做比較從而驗(yàn)證Client的身份。

(5)如果Service有返回結(jié)果,將其返回給Client。

#p#

Hadoop集群內(nèi)部使用Kerberos進(jìn)行認(rèn)證

 

[[137087]]

好處:

可靠:Hadoop本身并沒有認(rèn)證功能和創(chuàng)建用戶組功能,使用依靠外圍的認(rèn)證系統(tǒng);

高效:Kerberos使用對稱鑰匙操作,比SSL的公共密鑰快;

操作簡單:用戶可以方便進(jìn)行操作,不需要很復(fù)雜的指令。比如廢除一個(gè)用戶只需要從Kerbores的KDC數(shù)據(jù)庫中刪除即可。

HDFS安全

1、Client獲取namenode初始訪問認(rèn)證(使用kerberos)后,會獲取一個(gè)delegation token,這個(gè)token可以作為接下來訪問HDFS或提交作業(yè)的憑證;

2、同樣為了讀取某個(gè)文件,Client首先要與namenode交互,獲取對應(yīng)block的block access token,

然后到相應(yīng)的datanode上讀取各個(gè)block ,

而datanode在初始啟動向namenode注冊時(shí)候,已經(jīng)提前獲取了這些token,

當(dāng)client要從TaskTracker上讀取block時(shí),首先驗(yàn)證token,通過才允許讀取。

MapReduce安全

1、所有關(guān)于作業(yè)的提交或者作業(yè)運(yùn)行狀態(tài)的追蹤均是采用帶有Kerberos認(rèn)證的RPC實(shí)現(xiàn)的。

授權(quán)用戶提交作業(yè)時(shí),JobTracker會為之生成一個(gè)delegation token,該token將被作為job的一部分存儲到HDFS上并通過RPC分發(fā)給各個(gè)TaskTracker,一旦job運(yùn)行結(jié)束,該token失效。

2、用戶提交作業(yè)的每個(gè)task均是以用戶身份啟動的,這樣一個(gè)用戶的task便不可以向TaskTracker或者其他用戶的task發(fā)送操作系統(tǒng)信號,給其他用戶造成干擾。這要求為每個(gè)用戶在所有的TaskTracker上建一個(gè)賬號;

3、當(dāng)一個(gè)map task運(yùn)行結(jié)束時(shí),它要將計(jì)算結(jié)果告訴管理它的TaskTracker,之后每個(gè)reduce task會通過HTTP向該TaskTracker請求自己要處理的那塊數(shù)據(jù),Hadoop應(yīng)該確保其他用戶不可以獲取map task的中間結(jié)果,

其執(zhí)行過程是:reduce task對“請求URL”和“當(dāng)前時(shí)間”計(jì)算HMAC-SHA1值,并將該值作為請求的一部分發(fā)動給TaskTracker,TaskTracker收到后會驗(yàn)證該值的正確性。

博文出處:http://blog.csdn.net/scgaliguodong123_/article/details/46523569

責(zé)任編輯:Ophira 來源: 個(gè)人博客
相關(guān)推薦

2020-04-02 15:10:57

Kubernetes集群安全

2010-05-24 14:59:29

Hadoop集群

2012-07-03 10:57:54

Hadoop核心機(jī)制

2010-10-08 10:42:30

2013-01-29 10:20:06

MapReduceHadoop架構(gòu)

2016-02-24 09:38:25

Hadoop集群管理大數(shù)據(jù)技術(shù)

2011-04-21 10:05:35

Hadoop集群lzo

2011-05-20 14:23:59

WLANWEPWPA

2023-08-07 08:13:41

2024-01-16 14:32:23

2017-08-17 17:09:28

PostgreSQL 數(shù)據(jù)塊機(jī)制

2010-09-27 13:26:31

JVM內(nèi)存管理機(jī)制

2012-10-23 16:20:20

2016-10-09 14:41:40

Swift開發(fā)ARC

2010-09-26 08:46:08

802.1x

2020-12-01 13:08:21

物聯(lián)網(wǎng)物聯(lián)網(wǎng)安全

2009-09-09 20:15:00

2025-01-24 08:19:57

2022-10-08 10:10:58

內(nèi)存技術(shù)安全

2010-05-24 14:57:26

點(diǎn)贊
收藏

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