一 sql gateway
注意 之所以直接啟動gateway 能知道yarn session 主要還是隱藏的配置文件,但是配置文件可以被覆蓋,多個session 保留最新的applicationid
1 安裝flink (略)
2 啟動sql-gatway(sql-gateway 通過官網(wǎng)介紹只能運行在session 任務中)
2-1 啟動gateway 之前先啟動一個flink session ./bin/yarn-session.sh -d
2-2 啟動命令 :
./bin/sql-gateway.sh start -Dsql-gateway.endpoint.rest.address=localhost
2-3 查看日志觀察是否啟動成功:
查看日志出現(xiàn)這個條信息就證明已經(jīng)找到了flink session applicationId
可以觀察到 yarn-properties-yarn 文件中存在一個session applicationId 這個applicationId是覆蓋關系當啟動多個session 的時候 這里只保存最新創(chuàng)建的那個
[圖片]
Sql-gateway 默認端口是8083 啟動成功后可以通過http 方式進行訪問
[圖片]
3 Flink 原生支持 REST Endpoint 和 HiveServer2 Endpoint。
SQL Gateway 默認集成 REST Endpoint。由于架構的可擴展性,用戶可以通過指定 endpoint 來啟動 SQL Gateway。我們測試是rest 加gateway jdbc方式。
4 Rest api 提交任務
4-1 獲得一個 session 這里的session 的意思是當前連接草的人獲取的一個唯一編碼,當拿到這個sessionid后后續(xù)所有的所有操作都跟他關聯(lián)。
[圖片]
4-2 提交一個任務:黃色框 是上一步獲取的sessionid 藍色框是需要提供的sql 任務,綠色框是提交任務后獲取結果的一個唯一編碼
[圖片]
4-3 獲取結果:
[圖片]
二 gateway jdbc
1 環(huán)境準備 flink-jdbc-driver-bundle-1.18.jar放到 {HIVE_HOME}/lib 目錄中
2 beeline 連接 (地址為上一步啟動的sql getewat 地址)
2-1 beeline
2-2 beeline> !connect jdbc:flink://xxx.xxx.xxx.xxx:8083
當出現(xiàn)這種日志連接成功
[圖片]
3 創(chuàng)建一個 hdfs 表 并且插入數(shù)據(jù)
CREATE TABLE D(a INT, b VARCHAR(10)) WITH (
'connector' = 'filesystem',
'path' = 'hdfs:///tmp/T.csv',
'format' = 'csv'
);
4 gatway jdbc 查看hive 數(shù)據(jù)
1 環(huán)境準備 將{HIVE_HOME}/ hive-exec-3.1.0.3.1.4.0-315.jar /hive-exec.jar /libfb303-0.9.3.jar 三個jar 移動到{flink_home}/lib 中
2 上傳hive conf目錄 配置文件到hdfs 中
[圖片]文章來源地址http://www.zghlxwxcb.cn/news/detail-793248.html
3 創(chuàng)建hive catalogs
CREATE CATALOG hive_catalog WITH (
'type' = 'hive',
'default-database' = 'default',
'hive-conf-dir' = 'hdfs:///tmp/hiveconfig'
);
4 切換 catalogs
use catalog hive_catalog;
5 查看并查詢hive 數(shù)據(jù)
文章來源:http://www.zghlxwxcb.cn/news/detail-793248.html
[圖片]
到了這里,關于flink 1.18 sql gateway /sql gateway jdbc的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!