1. 启动flink集群
bin/start-cluster.sh
2. 启动sql gateway
bin/sql-gateway.sh start -Dsql-gateway.endpoint.type=hiveserver2
3. 将flink-sql-jdbc-driver-bundle-1.18.0.jar放到apache-hive-3.1.2-bin/lib目录下
4. 到apache-hive-3.1.2-bin目录下启动beeline连接sql gateway,提示输入用户名和密码时直接按的回车
$ bin/beeline
SLF4J: Class path c
Hi casel,
Flink JDBC 链接到 gateway 目前使用的是 flink 的 gateway 接口,所以你在启动 gateway
的时候不用指定 endpoint 为 hiveserver2 类型,用 Flink 默认的 gateway endpoint 类型即可。
casel.chen 于2023年10月29日周日 17:24写道:
>
> 1. 启动flink集群
> bin/start-cluster.sh
>
>
> 2. 启动sql gateway
> bin/sql-gateway.sh start -Dsql-gateway.endpoint.type=
果然不指定endpoint为hiveserver2类型后使用hive beeline工具连接上了。感谢!
不过我仍然有个疑问,看官网文档上有写提供 hiveserver2 endpoint
是为了兼容hive方言,按理也应该可以使用beeline连接上,因为原本beeline支持连接hiveserver2
以下是原文:
HiveServer2 Endpoint is compatible with HiveServer2 wire protocol and allows
users to interact (e.g. submit Hive SQL) with Flink SQL Gat
hiveserver2 endpoint 就是让 flink gateway 直接变成 hive server2,对外来讲它就是 hive
server2 了,它可以直接跟已有的跟 hive server2 的工具配合一起使用。
但是现在你其实用的是 flink jdbc driver,这个并不是跟 hive server2 交互,它就是跟 flink gateway
交互,所以你用hive server2的模式启动,它就不认识了。
casel.chen 于2023年10月30日周一 14:36写道:
>
> 果然不指定endpoint为hiveserver2类型后使用hive bee