简介:以测试集群版本为例(EMR-4.4.1)—— Flink SQL Client 集成 Hive 应用文档
作者:林志成,阿里云 EMR 产品团队技术支持,领有多年开源大数据教训
1、以测试集群版本为例(EMR-4.4.1)
2、执行命令如下
cp /opt/apps/ecm/service/flink/1.10-vvr-1.0.2-hadoop3.1/package/flink-1.10-vvr-1.0.2-hadoop3.1/conf/sql-client-defaults.yaml /etc/ecm/flink-conf/
并做如下批改
3、将配置散发到各个节点
(如果须要在别的集群也应用的话执行以下步骤,以及所有拷贝 jar 的步骤在所有机器执行)
scp /etc/ecm/flink-conf/sql-client-defaults.yaml root@emr-worker-1:/etc/ecm/flink-conf/
scp /etc/ecm/flink-conf/sql-client-defaults.yaml root@emr-worker-2:/etc/ecm/flink-conf/
…(这里参考前面,因为还有几个 jar 须要拷贝)
4、拷贝 jar 包
start-cluster.sh
sql-client.sh embedded
会发现报错如下:
起因是短少 jar 包, 执行上面操作不然会有一系列报错。
cd /usr/lib/flink-current/lib
sudo cp /lib/hive-current/lib/hive-exec-3.1.2.jar .
sudo wget https://repo1.maven.org/maven…
sudo wget https://repo1.maven.org/maven…
sudo wget https://repo1.maven.org/maven…
5、启动
start-cluster.sh
sql-client.sh embedded
上面是空的因为新集群没有数据,上面到 hive 去创立点数据
从新执行 sql-client.sh embedded 进入 SQL client 发现曾经能看见了。
查问发现报错了。
6、排错
排查了下看 8081 端口都没有起来
最初发现是社区 hive connector 的兼容性问题,之前的抵触是 1.10.2 导致的,实践上 vvr-1.10 能够应用社区的 hive-connector-1.10.x,这个问题在 1.11 外面曾经修复了。
所以咱们换一下 jar 包。
mv flink-connector-hive_2.11-1.10.2.jar /tmp/
sudo wget https://repo1.maven.org/maven…
7、从新执行
start-cluster.sh;sql-client.sh embedded
呈现上图所示就胜利了。
原文链接
本文为阿里云原创内容,未经容许不得转载。