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

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

2 中的传输中 HiveServer加密

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

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

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

On-cluster HS2 access

如果您在访问主节点之后使用 Beeline 客户端访问 HiveServer 2,则使用配置ssl.server.truststore.location和引/etc/hadoop/conf/ssl-server.xml用查找TRUSTSTORE_PATHTRUSTSTORE_PASSWORD参数值。SSH 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 驱动程序