Hue作為一個數據開發平臺,支持連接各種執行引擎,例如Hive、Spark、Impala和Presto。當這些執行引擎開啟LDAP認證后,Hue需要進行相應的配置后才能成功連接。本文介紹如何配置Hue連接開啟LDAP認證的執行引擎。
前提條件
已創建E-MapReduce的Hadoop集群,詳情請參見創建集群。
步驟一:創建LDAP代理認證用戶
當執行引擎開啟LDAP認證后,Hue訪問執行引擎時將會被LDAP認證攔截。您需要創建一個LDAP代理認證用戶,Hue使用該用戶通過引擎的LDAP認證,并代理登錄Hue的用戶執行作業。創建Hue代理認證用戶的流程如下。
使用SSH方式登錄到集群,具體步驟請參見登錄集群。
創建hue.ldif文件,文件內容如下。
dn: uid=hue,ou=people,o=emr objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson userPassword: <password> sn: hue cn: hue uid: hue
說明password自定義填寫,在步驟二:配置連接開啟LDAP認證的引擎需要使用。
創建Hue代理用戶。
ldapadd -x -H ldap://emr-header-1:10389 -D uid=admin,o=emr -w <admin_pwd> -f hue.ldif
<admin_pwd>:LDAP Admin用戶的密碼。可以在EMR控制臺左側導航欄,選擇 ,在OpenLDAP服務頁面,單擊配置頁簽,搜索manager_password配置,獲取到對應的值。
步驟二:配置連接開啟LDAP認證的引擎
進入Hue配置頁面。
在頂部菜單欄處,根據實際情況選擇地域和資源組。
單擊上方的集群管理頁簽。
在左側導航欄,選擇 。
在Hue服務頁面,單擊配置頁簽。
在服務配置區域,單擊hue。
添加Hue自定義配置。
單擊右上角的自定義配置。
在新增配置項區域,添加配置信息。請根據具體的執行引擎添加相應的配置信息。
連接開啟LDAP認證的Hive、Spark配置信息。
參數
描述
beeswax.auth_username
固定值為hue。
beeswax.auth_password
為創建代理用戶Hue的密碼,詳細信息,請參見步驟一:創建LDAP代理認證用戶。
連接開啟LDAP認證的Impala配置信息。
參數
描述
impala.auth_username
固定值為hue。
impala.auth_password
為創建代理用戶Hue的密碼,詳細信息,請參見步驟一:創建LDAP代理認證用戶。
連接開啟LDAP認證的Presto配置信息。
添加參數notebook.interpreters.presto.options,參數值如下。
{"url": "jdbc:presto://<hostname>:7778/hive/default?SSL=true&SSLKeyStorePath=/etc/ecm/presto-conf/keystore&SSLKeyStorePassword=<keystore_pwd>", "driver": "com.facebook.presto.jdbc.PrestoDriver", "has_impersonation": true}
參數值中涉及的需要替換的參數如下表。
參數
描述
hostname
在PrestoMaster所在節點上執行
hostname
命令查看。hostname的形式為emr-header-1.cluster-xxx。
keystore_pwd
在E-MapReduce控制臺集群管理頁面,選擇keystore_password獲取到對應的配置信息。
,單擊配置頁簽,搜索說明如果您在Presto配置頁面無法搜索到keystore_password參數,您可以通過SSH登錄集群的Header節點,執行
sed -n 's/http-server.https.keystore.key=\([^;]*\)/\1/p' /etc/ecm/presto-conf/config.properties
命令獲取密碼,登錄集群信息請參見登錄集群。在Hue中使用Presto時,需要填寫正確的LDAP的用戶名和密碼,才能成功執行SQL語句。
配置信息添加完成后,單擊確定。
保存配置。
單擊右上角的保存。
在確認修改區域,填寫執行原因,并開啟自動更新配置。
單擊確定。
重啟Hue。
單擊查看操作歷史,等待Configure HUE任務執行完成。
配置任務完成后,選擇 。
在執行集群操作對話框,填寫執行原因,單擊確定。
在確認對話框,單擊確定。
重啟Hue成功后,您就可以在Hue中訪問開啟LDAP認證的引擎了。