flink 版本 flink-1.14.4
hive 版本 hive-3.12
scala 版本 scala-2.12
scala版本按照自己实际情况,我这里是2.12
Flink下载链接:
链接: link.
https://flink.apache.org/zh/downloads.html#apache-flink-1144
https://dlcdn.apache.org/flink/flink-1.14.4/flink-1.14.4-bin-scala_2.12.tgz
依赖包下载:
1.flink-sql-connector-hive-3.1.2
https://repo.maven.apache.org/maven2/org/apache/flink/flink-sql-connector-hive-3.1.2_2.12/1.14.4/flink-sql-connector-hive-3.1.2_2.12-1.14.4.jar
2.flink-connector-hive_2.12-1.14.4.jar
https://repo.maven.apache.org/maven2/org/apache/flink/flink-connector-hive_2.12/1.14.4/flink-connector-hive_2.12-1.14.4.jar
3.hive-exec-3.1.2.jar
https://repo1.maven.org/maven2/org/apache/hive/hive-exec/3.1.2/hive-exec-3.1.2.jar
4.antlr-runtime-3.5.2.jar
https://repo1.maven.org/maven2/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar
需要添加的包如下图
这些是需要添加到lib目录下面的jar包,其中flink-connector-hive_2.12-1.14.4.jar和hive-exec-3.1.2.jar要删除jar包里面的googel目录,不然会和hadoop中的jar冲突。
需要添加的包已经上传资源了,有需要的自取(冲突的jar包已经做过处理了,解压即用)
https://download.csdn.net/download/qq_41908713/85017482
把依赖包解压到flink_home 的lib下面之后,服务器添加环境变量:
#Flink_HOME export Flink_HOME=/data/module/flink-1.14.4 export HADOOP_CLASSPATH=`hadoop classpath` export PATH=$PATH:$Flink_HOME/bin
hive-site.xml需要添加配置hive.metastore.uris thrift://dev1:9083
flink-conf.yaml配置如下:
修改了一个task可以使用2个slot taskmanager.numberOfTaskSlots: 2 增加一行 classloader.check-leaked-classloader: false
在$flink_home/bin/config.sh中第一行也添加了 以下环境变量
export HADOOP_CLASSPATH=`hadoop classpath`
在$flink_home/conf 添加hive配置文件
hive-conf-dir和hadoop-conf-dir根据自己组件实际部署位置
vim sql-conf.sql
CREATE CATALOG myhive WITH (
'type' = 'hive',
'default-database' = 'default',
'hive-conf-dir' = '/data/module/apache-hive-3.1.2-bin/conf',
'hadoop-conf-dir' = '/data/module/hadoop-3.1.4/etc/hadoop'
);
-- set the HiveCatalog as the current catalog of the session
USE CATALOG myhive;
配置文件和依赖的jar都操作完成后,就可以开始启动了
执行命令
./sql-client.sh embedded -i ../conf/sql-conf.sql
show databases; 能看到hive里面的表结构。



