配置 SSL 加密
本页面介绍如何在 Hive on MR3 中配置 SSL 加密。
概述
SSL(安全套接字层)加密用于保护客户端与 HiveServer2 之间传输的数据安全。
前置条件
- 已创建 SSL 证书(参见创建 SSL 证书和密钥)
- 已准备 keystore 和 truststore
Shell Scripts 配置方式
更新 hive-site.xml
<property>
<name>hive.server2.thrift.ssl</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.ssl.keystore.path</name>
<value>/path/to/keystore.jks</value>
</property>
<property>
<name>hive.server2.thrift.ssl.keystore.password</name>
<value>keystore_password</value>
</property>
<property>
<name>hive.server2.thrift.ssl.keystore.type</name>
<value>JKS</value>
</property>
在 Pod 中挂载密钥
更新 yaml/hive.yaml:
volumeMounts:
- name: ssl-certs
mountPath: /path/to/certs
volumes:
- name: ssl-certs
secret:
secretName: ssl-secrets
Helm 配置方式
更新 values-hive.yaml:
hive:
ssl:
enabled: true
keystore:
secretName: ssl-secrets
file: keystore.jks
passwordSecretKey: keystore-password
truststore:
secretName: ssl-secrets
file: truststore.jks
passwordSecretKey: truststore-password
使用 SSL 连接
Beeline with SSL
beeline -u "jdbc:hive2://hiveserver2:9852/;ssl=true;sslTrustStore=/path/to/truststore.jks;trustStorePassword=password"
JDBC URL with SSL
jdbc:hive2://hiveserver2:9852/;ssl=true;sslTrustStore=/path/to/truststore.jks;trustStorePassword=password
验证
- 使用 SSL 连接到 HiveServer2
- 查看 HiveServer2 日志确认连接使用 SSL
- 使用 Wireshark 等工具确认流量已加密