本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
傳輸中加密為 HiveServer2
從 Amazon 6.9.0, HiveServer2 EMR版開始 (HS2) 會啟用 TLS/ SSL作為傳輸中加密為 HiveServer2安全組態的一部分。這會影響您在啟用傳輸中加密的 Amazon EMR叢集HS2上執行 的方式。若要連線至 HS2,您必須在 中修改 JDBC TRUSTSTORE_PATH
和 TRUSTSTORE_PASSWORD
參數值URL。以下是HS2使用所需參數的 JDBC連線URL範例:
jdbc:hive2://HOST_NAME
:10000/default;ssl=true;sslTrustStore=TRUSTSTORE_PATH
;trustStorePassword=TRUSTSTORE_PASSWORD
針對以下叢集內或叢集外 HiveServer2 加密使用適當的調整。
- On-cluster HS2 access
-
如果您在SSH存取主要節點之後使用 Beeline 用戶端存取 HiveServer2,則請參閱 /etc/hadoop/conf/ssl-server.xml
以使用組態TRUSTSTORE_PATH
和 尋找 ssl.server.truststore.location
和 TRUSTSTORE_PASSWORD
參數值ssl.server.truststore.password
。
下列範例命令可以協助您擷取以下組態:
TRUSTSTORE_PATH=$(sed -n '/ssl.server.truststore.location/,+2p' /etc/hadoop/conf/ssl-server.xml | awk -F "[><]" '/value/{print $3}')
TRUSTSTORE_PASSWORD=$(sed -n '/ssl.server.truststore.password/,+2p' /etc/hadoop/conf/ssl-server.xml | awk -F "[><]" '/value/{print $3}')
- Off-cluster HS2 access
-
如果您從 Amazon EMR叢集外部的用戶端存取 HiveServer2。您可以使用下列其中一種方法取得 TRUSTSTORE_PATH
和 TRUSTSTORE_PASSWORD
:
-
將安全組態期間建立PEM的檔案轉換為 JKS 檔案,並在JDBC連線 中使用相同的 URL。例如,對於 openssl 和 keytool,使用下列命令:
openssl pkcs12 -export -in trustedCertificates.pem -inkey privateKey.pem -out trustedCertificates.p12 -name "certificate"
keytool -importkeystore -srckeystore trustedCertificates.p12 -srcstoretype pkcs12 -destkeystore trustedCertificates.jks
-
或者,參考 /etc/hadoop/conf/ssl-server.xml
以使用組態 ssl.server.truststore.location
和 ssl.server.truststore.password
來尋找 TRUSTSTORE_PATH
和 TRUSTSTORE_PASSWORD
參數值。將信任庫檔案下載至用戶端機器,並使用用戶端機器上的路徑作為 TRUSTSTORE_PATH
。
如需從 Amazon EMR叢集外部用戶端存取應用程式的詳細資訊,請參閱使用 Hive JDBC驅動程式 。