tongchenkeji 发表于:2023-7-13 10:26:170次点击 已关注取消关注 关注 私信 hiveserver2 endpoint flink1.17有大佬编译过适配3.0.0-cdh6.?[阿里云实时计算 Flink版] 暂停朗读为您朗读 hiveserver2 endpoint flink1.17有大佬编译过适配3.0.0-cdh6.3.2版本的嘛 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 实时计算Flink版# 实时计算 Flink版3179
算精通AM 2023-11-27 18:14:31 1 Flink 1.17 版本中的 Hive Connector 默认使用的是 Hive 2.x 版本的客户端,而 CDH6.0.0 中使用的是 Hive 3.x 版本,因此需要进行一些修改才能适配 CDH6.0.0 中的 HiveServer2。 具体来说,需要修改 Flink 1.17 中的 hive-cdh-parent 模块的 pom.xml 文件,将其中的 Hive 2.x 版本的依赖替换为 Hive 3.x 版本的依赖。同时需要修改 HiveConfFactory 类,将其中的 HiveConf.setVar 方法替换为 HiveConf.set 方法,具体代码如下: javaCopy// 将以下代码conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_TRANSPORT_MODE, “binary”);conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_BIND_HOST, serverHost);conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_PORT, Integer.toString(serverPort));conf.setVar(HiveConf.ConfVars.METASTORETHRIFTTRANSPORTSASLMECHANISM, SaslRpcServer.AuthMethod.DIGEST.getMechanismName()); // 替换为以下代码conf.set(HiveConf.ConfVars.HIVE_SERVER2_TRANSPORT_MODE.varname, “binary”);conf.set(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_BIND_HOST.varname, serverHost);conf.setInt(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_PORT.varname, serverPort);conf.set(HiveConf.ConfVars.METASTORETHRIFTTRANSPORTSASLMECHANISM.varname, SaslRpcServer.AuthMethod.DIGEST.getMechanismName());这些修改完成后,重新编译 hive-cdh-parent 模块即可。需要注意的是
Star时光AM 2023-11-27 18:14:31 2 根据您的描述,您似乎在寻找一个适配 Flink 1.17 和 HiveServer2 的版本,以与 CDH 6.3.2 兼容。目前我无法提供关于特定版本的编译信息,但是您可以尝试以下几个步骤来解决问题: 1. 官方文档和社区资源:查阅 Flink 和 CDH 的官方文档、GitHub 或其他社区资源,了解有关适配不同版本的信息。这些资源通常提供了关于兼容性、依赖配置和使用说明等方面的帮助。 2. 自定义编译和打包:如果您找不到与所需版本完全匹配的预编译版本,您可以考虑自行编译和打包适配的版本。这需要您具备一定的编译和构建经验,并且需要确保相关代码和依赖项与目标版本兼容。 3. 寻求社区支持:向 Flink 社区或 CDH 社区寻求支持和帮助。这些社区中的开发人员和用户可能会对适配特定版本的问题有更深入的了解,并提供相关的建议和指导。 请注意,适配不同版本的软件组件通常需要细致的配置和测试,以确保整体系统的稳定性和兼容性。在进行任何更新或变更之前,建议您先进行充分的测试和验证。
Flink 1.17 版本中的 Hive Connector 默认使用的是 Hive 2.x 版本的客户端,而 CDH6.0.0 中使用的是 Hive 3.x 版本,因此需要进行一些修改才能适配 CDH6.0.0 中的 HiveServer2。
具体来说,需要修改 Flink 1.17 中的 hive-cdh-parent 模块的 pom.xml 文件,将其中的 Hive 2.x 版本的依赖替换为 Hive 3.x 版本的依赖。同时需要修改 HiveConfFactory 类,将其中的 HiveConf.setVar 方法替换为 HiveConf.set 方法,具体代码如下:
java
Copy
// 将以下代码
conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_TRANSPORT_MODE, “binary”);
conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_BIND_HOST, serverHost);
conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_PORT, Integer.toString(serverPort));
conf.setVar(HiveConf.ConfVars.METASTORETHRIFTTRANSPORTSASLMECHANISM, SaslRpcServer.AuthMethod.DIGEST.getMechanismName());
// 替换为以下代码
conf.set(HiveConf.ConfVars.HIVE_SERVER2_TRANSPORT_MODE.varname, “binary”);
conf.set(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_BIND_HOST.varname, serverHost);
conf.setInt(HiveConf.ConfVars.HIVE_SERVER2_THRIFT_PORT.varname, serverPort);
conf.set(HiveConf.ConfVars.METASTORETHRIFTTRANSPORTSASLMECHANISM.varname, SaslRpcServer.AuthMethod.DIGEST.getMechanismName());
这些修改完成后,重新编译 hive-cdh-parent 模块即可。需要注意的是
根据您的描述,您似乎在寻找一个适配 Flink 1.17 和 HiveServer2 的版本,以与 CDH 6.3.2 兼容。目前我无法提供关于特定版本的编译信息,但是您可以尝试以下几个步骤来解决问题:
1. 官方文档和社区资源:查阅 Flink 和 CDH 的官方文档、GitHub 或其他社区资源,了解有关适配不同版本的信息。这些资源通常提供了关于兼容性、依赖配置和使用说明等方面的帮助。
2. 自定义编译和打包:如果您找不到与所需版本完全匹配的预编译版本,您可以考虑自行编译和打包适配的版本。这需要您具备一定的编译和构建经验,并且需要确保相关代码和依赖项与目标版本兼容。
3. 寻求社区支持:向 Flink 社区或 CDH 社区寻求支持和帮助。这些社区中的开发人员和用户可能会对适配特定版本的问题有更深入的了解,并提供相关的建议和指导。
请注意,适配不同版本的软件组件通常需要细致的配置和测试,以确保整体系统的稳定性和兼容性。在进行任何更新或变更之前,建议您先进行充分的测试和验证。