Apache Hive 插件 - Amazon EMR

Apache Hive 插件

Apache Hive 是 Hadoop 生态系统中流行的执行引擎。Amazon EMR 提供了一个 Apache Ranger 插件,能够为 Hive 提供精细访问控制。该插件与开源 Apache Ranger Admin 服务器版本 2.0 及更高版本兼容。

支持的特征

EMR 上 Hive 的 Apache Ranger 插件支持开源插件的所有功能,包括数据库、表、列级访问控制以及行筛选和数据掩码。有关 Hive 命令和关联 Ranger 权限的表,请参阅 Hive 命令到 Ranger 权限映射

安装服务配置

Apache Hive 插件与 Apache Hive Hadoop SQL 中现有的 Hive 服务定义兼容。


						用于 Hadoop SQL 的 Hive 配置单元服务定义。

如果您没有 Hadoop SQL 下的服务实例(如上所示),则可以创建一个实例。点击 Hadoop SQL 旁边的 +

  1. Service Name (服务名称)(如果显示):输入服务名称。建议的值为 amazonemrhive。记下此服务名称,创建 EMR 安全配置时将要用到。

  2. Display Name (显示名称):输入要为服务显示的名称。建议的值为 amazonemrhive


						Hadoop SQL 的 Apache Hive 服务详细信息。

Apache Hive Config Properties 用于通过 HiveServer2 建立与 Apache Ranger Admin 服务器的连接,以在创建策略时实现自动完成。如果您没有持久的 HiveServer2 进程并且可以填充任何信息,则以下属性不需要准确。

  • Username (用户名):为到 HiveServer2 实例的其中一个实例的 JDBC 连接输入用户名。

  • Password (密码):输入上述用户名所对应的密码。

  • jdbc.driver.ClassName:输入 Apache Hive 连接的 JDBC 类的类名。可以使用默认值。

  • jdbc.url:输入连接到 HiveServer2 时要使用的 JDBC 连接字符串。

  • Common Name For Certificate (凭证的公用名称):凭证中的 CN 字段,用于从客户端插件连接到管理服务器。此值必须与为插件创建的 TLS 凭证中的 CN 字段匹配。


						Apache Hive 服务配置属性。

Test Connection (测试连接) 按钮测试是否可以使用上述值成功连接到 HiveServer2 实例。成功创建服务后,服务管理器应如下所示:


						已连接到 HiveServer2 实例

注意事项

Hive 元数据服务器

Hive 元数据服务器只能由受信任的引擎访问,特别是 Hive 和 emr_record_server,以防未经授权的访问。Hive 元数据服务器也可以通过集群上的所有节点访问。所需的端口 9083 为所有节点提供了主节点的访问权限。

身份验证

默认情况下,Apache Hive 配置为使用 EMR 安全配置中配置的 Kerberos 进行身份验证。HivesServer 2 也可以配置为使用 LDAP 对用户进行身份验证。有关信息,请参阅在多租户 Amazon EMR 集群上为 Hive 实施 LDAP 身份验证

限制

以下是当前针对 Amazon EMR 5.x 上的 Apache Hive 插件的限制:

  • 当前不支持 Hive 角色。不支持 Grant、Revoke 语句。

  • 不支持 Hive CLI。JDBC/Beeline 是连接 Hive 的唯一授权方式。

  • hive.server2.builtin.udf.blacklist 配置中应填充您认为不安全的 UDF。