更新时间:2026-08-21 GMT+08:00
分享

配置基于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服务,重启期间服务不可用。

操作步骤

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
  2. 修改Hive配置:

    选择“WebHCat(角色) > 安全”,选择“templeton.protocol.type”参数值为HTTPS或者HTTP,单击“保存”保存配置,根据界面提示操作后,等待配置保存成功。

  3. Hive服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。

    图1 修改Hive配置
    在Hive服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。

    组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。

验证操作:

配置完成后,可通过以下方式验证REST接口是否正常工作:

  1. 使用curl命令测试REST接口:
    curl -k https://WebHCat_IP:WebHCat_Port/templeton/v1/status

    如果返回JSON格式的状态信息,则表示REST接口配置成功。

  2. 在Manager的Hive服务页面,查看WebHCat实例状态是否正常。

常见问题

  • HTTPS协议连接失败

    HTTPS连接失败的常见原因包括:客户端未信任服务端证书、证书已过期、端口配置错误等。

    使用curl命令时添加“-k”参数忽略证书验证。确认服务端证书未过期。检查WebHCat端口配置是否正确。

  • 普通模式无法使用HTTPS

    集群未启用Kerberos认证(普通模式)时,只支持HTTP协议,不支持HTTPS协议。

相关文档

相关文档