hadoop含有四個模塊,分別是 common、 hdfs和yarn。node
commonweb
公共模塊。編程
HDFS安全
hadoop distributed file system,hadoop分佈式文件系統,負責文件的存儲管理。HDFS包括Namenode進程、DataNode進程和Secondary Namenode進程。網絡
mapreduce框架
高度抽象的編程模型,包括映射和化簡兩個階段,是大數據計算技術的基礎。ssh
yarn分佈式
資源調度框架,完成在job執行時,進行集羣總體資源的調配管理的。集羣中全部資源的配置都有ResourceManager完成。oop
High availability,系統提供持續服務的能力,一般使用9的個數來衡量,例如5個9就是指99.999%。fetch
high availability,高可用問題。 衡量系統持續提供服務的能力。一般使用幾個9衡量。 99.999% //摺合一年能夠宕機5分鐘 99.9999% //摺合一年能夠宕機5分鐘
1.local 不會啓動任何進程。 2.pesudo 一個節點啓動全部進程(5). 3.full 在不一樣節點啓動不一樣進程。 4.HA模式 active(宕機) + standby(待命)
http://namenode:50070/ http://2nn:50090/ http://datanode:50075/
start-all.sh start-dfs.sh start-yarn.sh hadoop-daemon.sh start namenode hadoop-daemons.sh start datanode
不一樣的hadoop版本,對副本的放置策略也不用。
按照ip地址返回網絡拓撲樹形結構/a/b/c/xxx | /a/b/c/xxx
每一個節點到達共同交換機的躍點數的總和。
協同服務,HA服務支持。 容災能力 : (n - 1) / 2 奇數.
每一個目錄下的內容相同,用於備份。
每一個目錄下的內容不一樣,用於擴容。
1.配額管理 1.1)空間配額 限制 1.2)目錄配額 限制目錄或文件的個數 hdfs dfsadmin -setQuota 1 data2 //1保持目錄爲空 hdfs dfsadmin -clsQuota data2 //1保持目錄爲空 2.快照 瞬間照相(差別化存儲)。 3.OIV offline image viewer,離線鏡像查看器 fsimage(元數據) 4.OEV offline edit viewer,離線編輯日誌查看器。 edit存放的對dfs的操做過程。
[hdfs-site.xml] 1.dfs.namenode.checkpoint.period=3600 兩次檢查點的時間間隔. 2.操做記錄數=1000,000 操做記錄超過該值,也會致使檢查點的建立。 dfs.namenode.checkpoint.txns 3.檢查週期(默認60) dfs.namenode.checkpoint.check.period=60 4.設置檢查點文件個數,默認是2 dfs.namenode.num.checkpoints.retained=2 5.手動融合鏡像文件(須要安全模式) hdfs dfsadmin -safemode enter hdfs dfsadmin -saveNamespace hdfs dfsadmin -safemode leave 6.從client能夠下載鏡像文件 //下載集羣的鏡像文件到當前目錄下 hdfs dfsadmin -fetchImage .
保存塊複製信息等和datanode的心跳信息到日誌文件。 該日誌文件在namenode的本地logs下。 hdfs dfsadmin -metasave 1.log
hdfs dfsadmin -safemode get //查看 hdfs dfsadmin -safemode enter //進入 hdfs dfsadmin -safemode leave //退出 hdfs dfsadmin -safemode wait //等待
//啓用快照 hfds dfsadmin -allowSnapshot data //禁用快照 hfds dfsadmin -disallowSnapshot data //建立快照 hdfs dfs -createSnapshot data sp1 //刪除 hdfs dfs -deleteSnapshot data sp1 //重命名 hdfs dfs -renameSnapshot data sp1 sp2 刪除目錄時,若是是可快照目錄而且有快照,沒法刪除,須要 先刪除快照再刪除目錄。
1.描述 hdfs的datanode下線由dfs.hosts.exclude屬性控制,yarn的nodemanager下線 由yarn.resourcemanager.nodes.exclude-path控制。 2.dfs.hosts.exclude 配置datanode黑名單文件路徑名,名單中的節點不容許鏈接到nn。若是該屬性不配置, 全部節點均可以鏈接。 3.dfs.hosts 配置datanode白名單文件路徑名,名單中的節點容許鏈接到nn。若是該屬性不配置, 全部節點均可以鏈接。 4.規則 dfs.hosts dfs.host.exlucde result --------------------------------------------------- NO NO Not NO YES Not YES NO Yes YES YES Yes並將退役 5.退役實操 5.0)準備黑白名單 dfs_exclude.conf dfs_include.conf 5.1)配置hdfs-site.xml的黑白名單屬性 <property> <name>dfs.hosts</name> <value>/soft/hadoop/etc/full/dfs_include.conf</value> </property> <property> <name>dfs.hosts.exclude</name> <value>/soft/hadoop/etc/full/dfs_exclude.conf</value> </property> 5.2)添加退役節點地址到黑名單,不要更新白名單 [dfs_exclude.conf] s102 5.3)刷新nn hdfs dfsadmin -refreshNodes 5.4)進入webui,查看退役的節點是否顯式爲"退役中",開始複製數據塊到其餘節點。 5.5)一旦複製完成,狀態顯式"Decommissioned",中止退役節點 5.6)從白名單中刪除退役節點 s103 s104 s106 5.7)再次刷新節點 hdfs dfsadmin -refreshNodes 5.8)從slaves中刪除退役節點 s103 s104 s106
1.準備環境 克隆新虛擬機 配置ssh 刪除本地臨時目錄 2.實操過程 2.1)添加新地址到白名單 s103 s104 s106 s102 [刪除黑名單記錄] 2.2)刷新名稱節點 hdfs dfsadmin -refreshNodes 2.3)更新slaves文件 s103 s104 s106 s102 2.4)啓動新節點的datanode進程 [s102] hadoop-daemon.sh start datanode 2.5)檢查webui
1.描述 hdfs的datanode下線由dfs.hosts.exclude屬性控制,yarn的nodemanager下線 由yarn.resourcemanager.nodes.exclude-path控制。 2.dfs.hosts.exclude 配置datanode黑名單文件路徑名,名單中的節點不容許鏈接到nn。若是該屬性不配置, 全部節點均可以鏈接。 3.dfs.hosts 配置datanode白名單文件路徑名,名單中的節點容許鏈接到nn。若是該屬性不配置, 全部節點均可以鏈接。 4.規則 dfs.hosts dfs.host.exlucde result --------------------------------------------------- NO NO Not NO YES Not YES NO Yes YES YES Yes並將退役 5.退役實操 5.0)準備黑白名單 yarn_exclude.conf yarn_include.conf 5.1)配置yarn-site.xml的黑白名單屬性 <property> <name>yarn.resourcemanager.nodes.include-path</name> <value>/soft/hadoop/etc/full/yarn_include.conf</value> </property> <property> <name>yarn.resourcemanager.nodes.exclude-path</name> <value>/soft/hadoop/etc/full/yarn_exclude.conf</value> </property> 5.2)添加退役節點地址到黑名單,不要更新白名單 [yarn_exclude.conf] s102 5.3)刷新nn yarn rmadmin -refreshNodes 5.4)進入webui,查看退役的節點是否顯式爲"退役中",開始複製數據塊到其餘節點。 http://rm:8088/ 5.5)一旦複製完成,狀態顯式"Decommissioned",中止退役節點 5.6)從白名單中刪除退役節點 [yarn-include.conf] s103 s104 s106 5.7)再次刷新節點 yarn rmadmin -refreshNodes 5.8)從slaves中刪除退役節點 s103 s104 s106