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里面的表结构。

查看原文