HiveServer2 での送信中の暗号化
Amazon EMR リリース 6.9.0 以降、HiveServer2 (HS2) は HiveServer2 での送信中の暗号化 セキュリティ設定の一部として TLS/SSL が有効になっています。これは、送信中の暗号化が有効になっている Amazon EMR クラスターで実行されている HS2 への接続方法に影響します。HS2 に接続するには、JDBC URL の TRUSTSTORE_PATH
および TRUSTSTORE_PASSWORD
パラメータ値を変更する必要があります。次の URL は、必須パラメータを含む HS2 の JDBC 接続の例です。
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
を参照して、設定 ssl.server.truststore.location
と ssl.server.truststore.password
を使用して TRUSTSTORE_PATH
および 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 クラスター外のクライアントからアプリケーションにアクセスする方法の詳細については、「Use the Hive JDBC driver」を参照してください。