配置基于HTTPS/HTTP协议的REST接口
操作场景
在Hive数据仓库的应用开发场景中,业务系统需要通过REST接口与Hive进行交互,执行查询、提交作业等操作。WebHCat为Hive提供了对外可用的REST接口,开源社区版本默认使用HTTP协议实现与Hive的交互。然而,HTTP协议以明文方式传输数据,在网络环境不安全的情况下,可能导致敏感数据(如查询结果、认证信息)被窃取或篡改。如何在保证REST接口可用性的同时,确保数据传输的安全性?MRS Hive支持使用更安全的HTTPS协议,并且可以在HTTP和HTTPS两种协议间自由切换。HTTPS协议通过SSL/TLS加密传输数据,有效防止数据泄露和中间人攻击,适用于对安全性要求较高的生产环境。本文介绍如何配置基于HTTPS/HTTP协议的REST接口。
约束与限制
- 集群已启用Kerberos认证(安全模式)支持HTTPS和HTTP协议。
- 集群未启用Kerberos认证(普通模式)只支持HTTP协议。
- 切换协议后需要重启WebHCat服务,重启期间服务不可用。
操作步骤
- 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
- 修改Hive配置:
选择,选择“templeton.protocol.type”参数值为HTTPS或者HTTP,单击“保存”保存配置,根据界面提示操作后,等待配置保存成功。
- Hive服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。 图1 修改Hive配置
在Hive服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。
组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。
验证操作:
配置完成后,可通过以下方式验证REST接口是否正常工作:
- 使用curl命令测试REST接口:
curl -k https://WebHCat_IP:WebHCat_Port/templeton/v1/status
如果返回JSON格式的状态信息,则表示REST接口配置成功。
- 在Manager的Hive服务页面,查看WebHCat实例状态是否正常。
常见问题
- HTTPS协议连接失败
HTTPS连接失败的常见原因包括:客户端未信任服务端证书、证书已过期、端口配置错误等。
使用curl命令时添加“-k”参数忽略证书验证。确认服务端证书未过期。检查WebHCat端口配置是否正确。
- 普通模式无法使用HTTPS
集群未启用Kerberos认证(普通模式)时,只支持HTTP协议,不支持HTTPS协议。
相关文档
- 了解Hive数据操作,请参考Hive数据存储及加密配置。
- 了解Hive常见问题,请参考Hive常见问题。
- 了解Hive各角色日志文件说明,请参考Hive日志介绍。