【阿里雲EMR實戰篇】以EMR測試集群版本為例,詳解 Flink SQL Client 集成 Hive 使用步驟


簡介: 以測試集群版本為例(EMR-4.4.1)—— Flink SQL Client 集成 Hive 使用文檔

作者:林志成,阿里雲EMR產品團隊技術支持,擁有多年開源大數據經驗

1、以測試集群版本為例(EMR-4.4.1)

1.jpg

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/
並做如下修改
2.jpg

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
會發現報錯如下:
3.jpg
原因是缺少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/maven2/org/apache/flink/flink-connector-hive_2.11/1.10.2/flink-connector-hive_2.11-1.10.2.jar
sudo wget https://repo1.maven.org/maven2/org/apache/flink/flink-hadoop-compatibility_2.11/1.10.2/flink-hadoop-compatibility_2.11-1.10.2.jar
sudo wget https://repo1.maven.org/maven2/org/apache/thrift/libfb303/0.9.3/libfb303-0.9.3.jar

5、啟動

start-cluster.sh
sql-client.sh embedded
4.jpg
下面是空的因為新集群沒有數據,下面到hive去創建點數據
5.jpg
重新執行sql-client.sh embedded進入SQL client發現已經能看見了。
6.jpg
查詢發現報錯了。
7.jpg

6、排錯

排查了下看8081端口都沒有起來
8.jpg

最后發現是社區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/maven2/org/apache/flink/flink-connector-hive_2.11/1.10.1/flink-connector-hive_2.11-1.10.1.jar

7、重新執行

start-cluster.sh;sql-client.sh embedded
9.jpg
10.jpg
出現上圖所示就成功了。

原文鏈接

本文為阿里雲原創內容,未經允許不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM