Flink通过Flink-hive-connector来连接Hive,但是连接Hive报错。 具体报错是因为:HiveMetaStoreClient连接HiveMetastore 使用的Thrift协议,但是Hive-1.x 没有实现 secure impersonation,也就是说没有支持HADOOP_PROXY_USER这个变量。 环境和版本 Hive的版本Hive-1.1.0-cdh5.12.1 服务器开启Kerberos认证 分析 由于目前项目中...
HiveMetaStoreClient连接HiveMetastore 使用的Thrift协议,但是Hive-1.x 没有实现 secure impersonation,也就是说没有支持HADOOP_PROXY_USER这个变量。 环境和版本 Hive的版本Hive-1.1.0 服务器开启Kerberos认证 分析 由于目前项目中连接的是Hive 1.1.0,而HADOOP_PROXY_USER是 2.3.0才支持的HIVE-COMMIT 可以看到HiveMeta...
因为要开发Flinksql,决定要使用HiveCatalog的支持,Flink当前最新版本是1.12.2,集群Hive的版本是1.1.0,而且需要用某个Linux用户进行代理。 在实际开发中,遇到两个问题: Hive 1.1.0 使用的不是jdbc,而是 MetastoreClient,通过Thrift进行连接,而他不支持HADOOP_PROXY_USER。 Kerberos认证需要什么配置文件,是否需要在代码里...
因为要开发Flinksql,决定要使用HiveCatalog的支持,Flink当前最新版本是1.12.2(注:截至写文时间),集群Hive的版本是1.1.0,而且需要用某个Linux用户进行Kerberbos代理。 在实际开发中,遇到两个问题: Hive 1.1.0 使用的不是jdbc,而是 MetastoreClient,通过Thrift进行连接,而他不支持HADOOP_PROXY_USER。 Kerberos认证需要...
首先是访问 HiveMetaStore 异常,这是因为我们的 Hadoop 集群启用了 kerberos 机制,并且 Hive config 的过渡方法被误用,导致 Hive 客户端 kerberos 相关配置被覆盖,造成访问 HiveMetaStore 异常。我们做了相应做的修复,也已反馈给社区。 其次我们引入了基于 zk 的分布式锁用来替换默认的 HiveMetaStore 的锁。Iceberg 默...
确保Flink和Hive的版本兼容,不同版本的Flink和Hive可能存在兼容性问题,导致无法正常写入数据。 检查Flink的配置文件(flinkconf.yaml),确保以下配置项正确设置: “` hive.metastore.uris: thrift://localhost:9083 hive.metastore.sasl.enabled: false hive.metastore.kerberos.principal: hive ...
TableEnvironment主要负责SQL解析,将SQL语句转换为内部可以执行的格式。执行过程涉及HiveCatalog。HiveCatalog实现多租户和Kerberos支持的思路基于对Hive 1.x的修改,通过回滚Hive 2.3.x版本以支持Kerberos代理功能。关键在于HiveCatalog底层使用了HiveMetastoreClientWrapper,依赖于HiveShimV100实现对Hive 1.x版本...
首先是访问 HiveMetaStore 异常,这是因为我们的 Hadoop 集群启用了 kerberos 机制,并且 Hive config 的过渡方法被误用,导致 Hive 客户端 kerberos 相关配置被覆盖,造成访问 HiveMetaStore 异常。我们做了相应做的修复,也已反馈给社区。 其次我们引入了基于 zk 的分布式锁用来替换默认的 HiveMetaStore 的锁。Iceberg 默...
首先是访问 HiveMetaStore 异常,这是因为我们的 Hadoop 集群启用了 kerberos 机制,并且 Hive config 的过渡方法被误用,导致 Hive 客户端 kerberos 相关配置被覆盖,造成访问 HiveMetaStore 异常。我们做了相应做的修复,也已反馈给社区。 其次我们引入了基于 zk 的分布式锁用来替换默认的 HiveMetaStore 的锁。Iceberg 默...
另一方面,HiveCatalog 也可以用来处理 Flink 自身的元数据,在这种场景下,HiveCatalog 仅将 Hive Metastore 作为持久化存储使用,写入 Hive Metastore 中的元数据并不一定是 Hive 所支持的格式。一个 HiveCatalog 实例可以同时支持这两种模式,用户无需为管理 Hive 和 Flink 的元数据创建不同的实例。