kerberos是一種計算機網路認證協議,用來在非安全網路中,對個人通訊以安全的手段進行身份認證。這個詞又指麻省理工學院為這個協議開發的一套計算機軟體。軟體設計上採用客戶端/伺服器結構,並且能夠進行相互認證,即客戶端和伺服器端均可對對方進行身份認證。可以用於防止竊聽、防止重放攻擊、保護資料完整性等場合,是一種應用對稱金鑰體制進行金鑰管理的系統。
1)kdc(key distribute center):金鑰分發中心,負責儲存使用者資訊,管理發放票據。
2)realm:kerberos所管理的乙個領域或範圍(一系列服務或使用者),稱之為乙個realm。
3)rrincipal:kerberos所管理的乙個使用者或者乙個服務,可以理解為kerberos中儲存的乙個賬號,其格式通常如下:primary/instance@realm (使用者名稱或服務名/主機名@網域名稱)
4)keytab:kerberos中的使用者認證,可通過密碼或者金鑰檔案證明身份,keytab指金鑰檔案。
安裝kerberos相關服務
選擇集群中的一台主機作為kerberos服務端,安裝kdc
所有主機都需要部署kerberos客戶端
修改配置檔案
服務端配置檔案:realms
客戶端配置檔案:kdc、admin_server
初始化kdc資料庫
啟動kerberos相關服務
啟動kdc、啟動kadmin(kdc資料庫訪問入口)
建立kerberos管理員使用者
kerberos資料庫操作
1)登入資料庫
本地登入(無需認證):kadmin.local
遠端登入:kadmin
2)建立kerberos主體:addprinc test
3)刪除kerberos主體:delprinc test
4)檢視所有主體:list_principals
kerberos認證操作
1)密碼認證:kinit
2)生成金鑰檔案:xst -norandkey -k /root/test.keytab [email protected]
-norandkey的作用是宣告不隨機生成密碼,若不加該引數,會導致之前的密碼失效
3)金鑰檔案認證:kinit -kt /root/test.keytab test
4)檢視憑證:klist
5)銷毀憑證:kdestroy
建立hadoop系統使用者
為hadoop開啟kerberos,需為不同服務準備不同的使用者,啟動服務時需要使用相應的使用者。
hdfs:hadoop、yarn:hadoop、mapred:hadoop
為hadoop各服務建立kerberos主體
1)路徑準備:儲存金鑰檔案
2)管理員主體認證
3)登入資料庫客戶端
4)建立主體
addprinc -randkey test/test
xst -k /etc/security/keytab/test.keytab test/test
主體:nn/hadoop102、dn/hadoop103......jhs/hadoop102、http/hadoop102......
修改hadoop配置檔案
1)core-site.xml
啟用kerberos、啟用僅認證、主體到系統使用者的對映
2)hdfs-site.xml
啟用僅認證、各服務的kerberos主體和金鑰檔案路徑
3)yarn-site.xml
各服務的kerberos主體和金鑰檔案路徑
4)mapred-site.xml
各服務的kerberos主體和金鑰檔案路徑
配置hdfs使用https安全傳輸協議
1)生成 keystore的密碼及相應資訊的金鑰庫
2)修改keystore檔案的所有者和訪問許可權
3)將該證書分發到集群中的每台節點的相同路徑
4)修改hadoop配置檔案ssl-server.xml.example
5)分發ssl-server.xml檔案
配置yarn使用linuxcontainerexecutor
修改特定本地路徑許可權
啟動hdfs
需要注意的是,啟動不同服務時需要使用對應的使用者
修改hdfs特定路徑訪問許可權
啟動yarn、historyserver
知識點總結
1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...
知識點總結
oncreate onstrat onresume onpause onstop onrestart ondestroy standard 啟動activity都會產生乙個新的activity 預設模式 singletop 啟動activity允許多個,但不允許重疊 singletask 只允許有乙...
知識點總結
function go go 呼叫 go為變數名 setinterval go,1000 1000ms clearinterval 關閉定時器 function abc a,b 2,3 5undefined 未定義 null 空 nan 非數值 string 字串 var a 123 數字型別 va...