SSH、Hadoop、Yarn體系
阿新 • • 發佈:2018-12-09
SSH免密登陸
1、生成金鑰對
#rsa 是加密演算法
ssh-keygen -t rsa
然後一路回車
2、檢視生成的金鑰對id_rsa.pub
是公鑰,id_rsa
是私鑰
輸入
ls .ssh
輸出
id_rsa id_rsa.pub known_hosts
2、將公鑰傳送到需要免密登陸的機器
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
3、根據提示輸入密碼 4、完成SSH免密登陸
SSH免密登陸原理(11條)
登陸機器A,目標登陸機器B
1、A生成金鑰對 2、A把自己的公鑰,傳送給需要免密登陸的機器B 3、B接受A的公鑰,儲存在本地資料夾下 4、B隨機生成字串Str1 5、B利用A的公鑰加密生成的字串Str2 6、B將Str2傳送給A 7、A接收B傳送的加密Str2 8、A通過自己的私鑰,將Str2解碼為Str3 9、A將解碼後的Str3,傳送給B 10、B接收A傳送的字串Str3 11、對比Str1是否等於Str3,相同則通過驗證,不同則不能免密登陸
Apache Hadoop的體系結構(重要)
(一)HDFS的體系結構1主從結構
- 主節點:NameNode
- 從節點:DataNode
- 負責日誌元資訊合併: SecondaryNode
2、NameNode
(1)職責 ·管理HDFS ·接收客戶端請求 ·維護檔案元資訊(fsimage),日誌檔案(edits) fsimage: 檔名:a.avi 路徑:/movie 大小:150M 資料塊:2 第一個資料塊{DN1:5}{DN2:8}{DN1:10} 第二個資料塊{DN3:8}{DN1:10}{DN3:9} (2)元檔案位置 (*)位置:/root/training/hadoop-2.7.3/tmp/dfs/name/current/fsimage_000000000000000024 (*)內容:是一個亂碼的二進位制檔案,資料塊的目錄資訊 (*)檔案轉換: hdfs oiv -i fsimage_0000000000000000243 -o ~/a.xml -p XML (3)日誌檔案 (*)位置:/root/training/hadoop-2.7.3/tmp/dfs/name/current/edits_inprogress_0000000000000000244 inprogress代表當前的操作日誌 (*)二進位制 (*)格式轉換 hdfs oev -i edits_inprogress_0000000000000000244 -o ~/b.xml b.xml <RECORD> <OPCODE>OP_MKDIR</OPCODE> <DATA> <TXID>7</TXID> <LENGTH>0</LENGTH> <INODEID>16386</INODEID> <PATH>/input</PATH> <TIMESTAMP>1504876545684</TIMESTAMP> <PERMISSION_STATUS> <USERNAME>root</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>493</MODE> </PERMISSION_STATUS> </DATA> </RECORD> (4)edit檔案記錄檔案記錄了最新的狀態而且會定期將edits中的日誌合併到fsimage中 (5)NameNode為了提高查詢fsimage效能,快取1000M的元資訊 (*)位置 /root/training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh (*)內容 44 # The maximum amount of heap to use, in MB. Default is 1000. 45 #export HADOOP_HEAPSIZE= 46 #export HADOOP_NAMENODE_INIT_HEAPSIZE="" 首先在記憶體中查詢元資訊,找到返回給客戶端,如果記憶體找不到就IO操作到fsimage資訊,到客戶端,消耗效能
DataNode
(1)資料節點,偽分佈1,全分佈環境2 (2)資料塊 Hadoop1.x 64M Hadoop2.x 128M 舉例: # hadoop-2.7.3.tar.gz(204M) hdfs dfs -mkdir /tools hdfs dfs -put hadoop-2.7.3.tar.gz /tools (3)位置: /root/training/hadoop-2.7.3/tmp/dfs/data/current/BP-1969327642-192.168.142.129-1504748687001/current/finalized/subdir0/subdir0 (4)內容 -rw-r--r--. 1 root root 134217728 Sep 11 10:20 blk_1073741850 -rw-r--r--. 1 root root 1048583 Sep 11 10:20 blk_1073741850_1026.meta -rw-r--r--. 1 root root 79874467 Sep 11 10:20 blk_1073741851 -rw-r--r--. 1 root root 624027 Sep 11 10:20 blk_1073741851_1027.meta .meta記錄了 資料塊檔案是哪個檔案的資料塊 134217728+79874467=204M (134217728=128M,剩餘的為原來大小) (4)設定資料冗餘 偽分佈設定為1 檔案為1分 資料塊冗餘度 和 資料節點的個數一致 最大不超過3
4、SecondaryNameNode
定期將edits中的日誌檔案合併到元檔案資訊中
(1)edit 體現了HDFS的最新狀態
Oracle產生了檢查點checkpoint時,Oracle會以最高優先順序,喚醒資料庫的寫程序(DBWn),來寫髒資料
Yarn體系機構
1.是一個容器,裝MapReduce程式 2.資源排程平臺 3.主從結構
- 主節點:ResourceManage
- 從節點:NodeManage 4.執行MapReduce程式
hadoop jar ****
日誌:
7/09/08 22:17:14 INFO client.RMProxy: Connecting to ResourceManager at /192.168.157.111:8032
17/09/08 22:17:34 INFO mapreduce.Job: map 0% reduce 0%
17/09/08 22:17:43 INFO mapreduce.Job: map 100% reduce 0%
17/09/08 22:17:55 INFO mapreduce.Job: map 100% reduce 100%
5.一個MR任務在Yarn中排程的過程