2 中的传输中 HiveServer加密 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

2 中的传输中 HiveServer加密

从亚马逊 EMR 6.9.0 版本开始, HiveServer2 (HS2) 作为安全配置的一部分支持 TLS/SSL。2 中的传输中 HiveServer加密这会影响与在启用传输中加密的 Amazon EMR 集群上运行的 HS2 建立连接的方式。要连接到 HS2,须修改 JDBC URL 中的 TRUSTSTORE_PATHTRUSTSTORE_PASSWORD 参数值。以下 URL 是带有所需参数的 HS2 的 JDBC 连接示例:

jdbc:hive2://HOST_NAME:10000/default;ssl=true;sslTrustStore=TRUSTSTORE_PATH;trustStorePassword=TRUSTSTORE_PASSWORD

使用下面的相应说明进行集群内或集群外 HiveServer 2 加密。

On-cluster HS2 access

如果您在 SSH 连接到主节点后使用 Beeline 客户端访问 HiveServer 2,则参考/etc/hadoop/conf/ssl-server.xml使用配置TRUSTSTORE_PATHssl.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 集群之外的客户端访问 HiveServer 2。您可以使用以下方法之一来获取和:TRUSTSTORE_PATHTRUSTSTORE_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.locationssl.server.truststore.password 来查找 TRUSTSTORE_PATHTRUSTSTORE_PASSWORD 参数值。将信任存储库文件下载到客户端计算机,并使用客户端计算机上的路径作为 TRUSTSTORE_PATH

    有关从 Amazon EMR 集群外部的客户端访问应用程序的更多信息,请参阅使用 Hive JDBC 驱动程序