作者 | 張鵬(七器),阿里巴巴開發工程師
本文由阿里巴巴開發工程師張鵬(七器)分享,內容將以實操的方式向大家介紹如何將實時計算 Flink 與其他系統打通。文章包含四個部分,分別是:
1、Jar 的存儲與使用;
2、實時計算 Flink 如何與一些典型數據源進行交互;
3、如何將 VVP 平臺上 Flink的指標打入 Metrics 這種外部系統裡;
4、如何將VVP平臺上運行的 Flink作業日誌打入到外部系統。
一、運行作業的Jar如何存儲在OSS上
在VVP平臺上主要提供了兩種方法:
第一種方法,藉助VVP資源上傳的功能,可以直接使用這個功能對Jar進行上傳以及相應的使用,但這種方法目前只支持100兆以內的Jar包。使用時,直接在創建作業的時候選擇上傳的jar包就可以了;
第二種方法,直接在OSS的控制檯上面,將要使用的Jar上傳上去,然後使用OSS是提供的Jar鏈接來行使用。使用的時候也比較簡單,直接使用OSS提供的Jar鏈接。
(第一種方法演示)進入到VVP平臺,點擊左側資源上傳功能,然後在打開頁面點擊右上角的上傳資源,選擇要上傳的Jar包,完成上傳。
上傳成功後,點擊左側創建作業,完善作業名等信息。在Jar URI欄,下拉選擇剛剛上傳的Jar包,點擊確定完成創建作業,然後啟動即可使用。
(第二種方法演示)打開OSS控制檯,選擇在創建VVP時候使用的Bucket,再選擇目錄,點擊上傳文件,上傳時可以將它的權限設置為公共讀,點擊上傳文件即完成。
對於在OSS上直接上傳的Jar包,在使用時,可以點擊已上傳包右側的“詳情”,獲取並直接使用URL鏈接。
需要注意,這個鏈接是公網訪問的,開通的VVP並不能直接訪問公網,所以在創建作業使用HTTPS的時候,需要使用VPC訪問的point,這樣才能正常的啟動作業。
如果想用公網獲取一個HTTPS的鏈接,怎麼操作呢?可以首先對VVP進行公網打通,打通的操作流程可以參考阿里雲幫助文檔中的《Flink 全託管集群如何訪問公網》,簡單來說步驟如下:
首先,創建一個NAT網關。創建時選擇“組合購買ERP”,然後選擇區域並補充名稱等信息,然後綁定彈性公網IP,完成創建;
其次,創建SNAT條目。創建好NAT之後,點擊“創建SNAT條目”,在彈窗選擇交換機並補充名稱信息,完成創建。
這樣VVP已經打通公網。
二、在VVP平臺上 Flink 如何與典型數據源進行交互
以SQL為例,通過典型的connectors,如SLS,Kafka,Datahub作為數據源讀寫數據。
(實操演示)點擊SQL編輯器,創建一個Datagen Table,它是用於數據的隨機生成的。然後點擊運行。然後再點擊生成一個SLS Table,補充所需參數信息,然後點擊創建完成。
創建完成後,寫入SQL語句,比如insert into sls select id, name from datagen,然後另存後點擊運行。
創建一個Kafka表格的方法如上兩個典型數據源一樣,然後用SQL語法從SLS讀取數據寫入Kafka中並啟動。
如下圖所示,說明剛剛數據已經生成並寫入。
這部分演示瞭如何通過SQL以及connectors與外部的一些數據存儲系統進行交互。接下介紹如果想把運行作業的指標放入到一些系統當中去,如何進行指標觀測。VVP提供了兩種方法:
方法一,VVP默認的將 Flink 作業指標打入到arms,不需要額外的處理,直接運行作業之後,就能通過指標按鈕看到;
方法二,如果自己有指標系統,想把 Flink 的作業指標打入到自己的系統裡,主要有兩點:首先保證VVP上作業與自己指標系統網絡的連通性;其次在 Flink conf 中配置好相應的metrics reporter。
(演示)第一種查看方法,在已經運行作業的操作面板有一個指標按鈕,直接點擊,進去之後可以直接看到作業的指標。
第二種方法,打開準備好的grafama,然後打開VVP平臺,創建作業,創建過程中對作業進行配置,拉到下端配置reporters。
因為使用的是premetheus的pushGateway方式,所以reporter class就選擇org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter。然後配置pushGateway的port和host,Metric就配置完成了。最後啟動並查看指標。
如何將Flink作業日誌打入到外部系統
如果在作業運行中,突然掛掉又想看掛掉原因,就需要把 Flink 作業的日誌保存下來。在VVP平臺為這個目的提供了兩種方案,將Logs寫入OSS中或SLS中,簡單來說,在創建作業的時候, 在Log配置項裡面配置一些Log參數就可以了。
(以下兩個方法都可以到阿里雲幫助文檔中找到對應的指導文檔)
方法一,將日誌寫入OSS中。在創建作業的時候,在高級配置中的Log配置裡,選擇使用用戶自定義,然後將(幫助文檔)裡面的配置放在自定義的配置中去,再將一些參數換成OSS的必要參數就可以了。
需要查看日誌時,可以通過幫助文檔的指導,找到日誌存放的文件,然後點擊下載查看。
方法二,將日誌寫入SLS中。與方法一類似,只是最後的操作項需要配置的更多些。下載和查看方法與方法一一致。