開發與維運

如何將實時計算 Flink 與自身環境打通

作者 | 張鵬(七器),阿里巴巴開發工程師

本文由阿里巴巴開發工程師張鵬(七器)分享,內容將以實操的方式向大家介紹如何將實時計算 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鏈接。

image.png

(第一種方法演示)進入到VVP平臺,點擊左側資源上傳功能,然後在打開頁面點擊右上角的上傳資源,選擇要上傳的Jar包,完成上傳。

image.png

上傳成功後,點擊左側創建作業,完善作業名等信息。在Jar URI欄,下拉選擇剛剛上傳的Jar包,點擊確定完成創建作業,然後啟動即可使用。

image.png

(第二種方法演示)打開OSS控制檯,選擇在創建VVP時候使用的Bucket,再選擇目錄,點擊上傳文件,上傳時可以將它的權限設置為公共讀,點擊上傳文件即完成。
對於在OSS上直接上傳的Jar包,在使用時,可以點擊已上傳包右側的“詳情”,獲取並直接使用URL鏈接。

image.png

需要注意,這個鏈接是公網訪問的,開通的VVP並不能直接訪問公網,所以在創建作業使用HTTPS的時候,需要使用VPC訪問的point,這樣才能正常的啟動作業。

image.png

如果想用公網獲取一個HTTPS的鏈接,怎麼操作呢?可以首先對VVP進行公網打通,打通的操作流程可以參考阿里雲幫助文檔中的《Flink 全託管集群如何訪問公網》,簡單來說步驟如下:

首先,創建一個NAT網關。創建時選擇“組合購買ERP”,然後選擇區域並補充名稱等信息,然後綁定彈性公網IP,完成創建;

其次,創建SNAT條目。創建好NAT之後,點擊“創建SNAT條目”,在彈窗選擇交換機並補充名稱信息,完成創建。

image.png

這樣VVP已經打通公網。

二、在VVP平臺上 Flink 如何與典型數據源進行交互

以SQL為例,通過典型的connectors,如SLS,Kafka,Datahub作為數據源讀寫數據。

幻燈片05.png

(實操演示)點擊SQL編輯器,創建一個Datagen Table,它是用於數據的隨機生成的。然後點擊運行。然後再點擊生成一個SLS Table,補充所需參數信息,然後點擊創建完成。

image.png

創建完成後,寫入SQL語句,比如insert into sls select id, name from datagen,然後另存後點擊運行。

image.png

創建一個Kafka表格的方法如上兩個典型數據源一樣,然後用SQL語法從SLS讀取數據寫入Kafka中並啟動。
如下圖所示,說明剛剛數據已經生成並寫入。

image.png

這部分演示瞭如何通過SQL以及connectors與外部的一些數據存儲系統進行交互。接下介紹如果想把運行作業的指標放入到一些系統當中去,如何進行指標觀測。VVP提供了兩種方法:

方法一,VVP默認的將 Flink 作業指標打入到arms,不需要額外的處理,直接運行作業之後,就能通過指標按鈕看到;

方法二,如果自己有指標系統,想把 Flink 的作業指標打入到自己的系統裡,主要有兩點:首先保證VVP上作業與自己指標系統網絡的連通性;其次在 Flink conf 中配置好相應的metrics reporter。

幻燈片07.png

(演示)第一種查看方法,在已經運行作業的操作面板有一個指標按鈕,直接點擊,進去之後可以直接看到作業的指標。

image.png

第二種方法,打開準備好的grafama,然後打開VVP平臺,創建作業,創建過程中對作業進行配置,拉到下端配置reporters。

image.png

因為使用的是premetheus的pushGateway方式,所以reporter class就選擇org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter。然後配置pushGateway的port和host,Metric就配置完成了。最後啟動並查看指標。

image.png

如何將Flink作業日誌打入到外部系統

如果在作業運行中,突然掛掉又想看掛掉原因,就需要把 Flink 作業的日誌保存下來。在VVP平臺為這個目的提供了兩種方案,將Logs寫入OSS中或SLS中,簡單來說,在創建作業的時候, 在Log配置項裡面配置一些Log參數就可以了。

幻燈片08.png

(以下兩個方法都可以到阿里雲幫助文檔中找到對應的指導文檔)

方法一,將日誌寫入OSS中。在創建作業的時候,在高級配置中的Log配置裡,選擇使用用戶自定義,然後將(幫助文檔)裡面的配置放在自定義的配置中去,再將一些參數換成OSS的必要參數就可以了。

需要查看日誌時,可以通過幫助文檔的指導,找到日誌存放的文件,然後點擊下載查看。

image.png

image.png

方法二,將日誌寫入SLS中。與方法一類似,只是最後的操作項需要配置的更多些。下載和查看方法與方法一一致。

Leave a Reply

Your email address will not be published. Required fields are marked *