Knox
本文介紹如何在E-MapReduce上配置Knox,以通過公網(wǎng)方式訪問HDFS、YARN、Spark和Ganglia等Web UI頁面。
前提條件
已創(chuàng)建E-MapReduce集群,詳情請參見創(chuàng)建集群。
準備工作
設(shè)置安全組訪問:
獲取您當前設(shè)備的公網(wǎng)訪問IP地址。
為了安全的訪問集群組件,在設(shè)置安全組策略時,推薦您只針對當前的公網(wǎng)訪問IP地址開放。訪問IP地址,即可查看您當前的公網(wǎng)訪問IP地址。
添加端口:
本文以添加8443端口為例介紹。
在EMR控制臺集群的基礎(chǔ)信息頁面的安全區(qū)域,單擊集群安全組鏈接。
在安全組規(guī)則頁面,單擊手動添加。
端口范圍填寫為8443/8443,授權(quán)對象填寫為上一步驟中獲取的公網(wǎng)訪問IP地址。
單擊保存。
重要為防止被外部的用戶攻擊導(dǎo)致安全問題,授權(quán)對象禁止填寫為0.0.0.0/0。
如果您創(chuàng)建集群時,沒有掛載公網(wǎng)IP,可以在ECS控制臺為該ECS實例添加公網(wǎng)IP。
設(shè)置Knox用戶
訪問Knox時需要驗證身份,即需要輸入您的用戶名和密碼。Knox的用戶身份驗證基于LDAP,您可以使用集群中Apache Directory Server的LDAP服務(wù)。
方式一(推薦)
在集群的用戶管理頁面,直接添加Knox訪問賬號,詳情請參見用戶管理。
方式二 :
通過SSH方式連接集群,詳情請參見登錄集群。
準備您的用戶數(shù)據(jù),例如Tom。
編輯users.ldif文件。
su knox vim /opt/apps/KNOX/knox-current/templates/users.ldif
替換文件中所有的
emr-guest
為Tom
,替換EMR GUEST
為Tom
,設(shè)置userPassword的值為您自己的密碼。執(zhí)行以下命令,導(dǎo)入用戶數(shù)據(jù)至LDAP。
cd /opt/apps/KNOX/knox-current/templates sh ldap-sample-users.sh
訪問Web UI
訪問Web UI的詳情,請參見訪問鏈接與端口。
常見問題
Q:Knox組件異常停止,啟動Knox的時候報錯
Failed to start gateway: org.apache.hadoop.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired
,具體信息如下圖所示。A:您可以按照以下步驟處理。
使用SSH登錄集群,詳情請參見登錄集群。
執(zhí)行以下命令,將之前錯誤的證書重命名。
sudo mv /opt/apps/KNOX/knox-current/data/security/keystores/gateway.jks /opt/apps/KNOX/knox-current/data/security/keystores/bak_gateway.jks
說明您也可以將之前錯誤的證書移動到其他目錄。
啟動Knox。
在EMR控制臺的集群服務(wù)頁面,選擇Knox服務(wù)區(qū)域的
。在彈出的對話框中,輸入執(zhí)行原因,單擊確定。
在確認對話框中,單擊確定。