精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于云原生的Flink計算平臺實踐

云計算 云原生
最近這幾年,大數據領域比如Flink,Spark等計算引擎也紛紛表示對k8s的支持,使得大數據應用從傳統的yarn時代轉變為云原生時代。本文以Flink和k8s為主要技術手段,介紹如何搭建一個云原生計算平臺。
作者|王杰,單位:中國移動智慧家庭運營中心

?Labs 導讀

隨著云原生的普及,越來越多的后端應用進行了容器化遷移,并通過k8s進行編排管理。而最近這幾年,大數據領域比如Flink,Spark等計算引擎也紛紛表示對k8s的支持,使得大數據應用從傳統的yarn時代轉變為云原生時代。本文以Flink和k8s為主要技術手段,介紹如何搭建一個云原生計算平臺。

Part 01  K8s概述 

Kubernetes,又稱為k8s或者kube,是一種可自動實施Linux容器操作的開源平臺。它可以幫助用戶省去應用容器化過程的許多手動部署和擴展操作。也就是說,您可以將運行Linux容器的多組主機聚合在一起。由k8s幫助您輕松高效地管理這些集群。而且,這些集群可跨公共云、私有云或混合云部署主機。其架構圖如下:

圖片

注:

  1. kubectl: 使用Kubernetees API與Kubernetes集群的控制面通信的命令行工具。
  2. ETCD: 一種分布式健值存儲,用于分布式系統或計算機集群的??配置、服務發現和調度協調。
  3. Node(節點): 負責執行請求和所分配任務的計算機。
  4. Pod(容器集): 被部署在單個節點上的,且包含一個或多個容器的容器組。
  5. Kubelet: 運行在節點上的服務,可讀取容器清單,確保指定的容器啟動并運行。

1.在Master上,是由Controller,API Server,Scheduler 以及包括做存儲的Etcd等構成。Etcd可以算成Master,也可以作為獨立于Master之外的存儲來對待。Master的Controller、API Server、Scheduler都是單獨的進程模式。這和Yarn有一些不同,Yarn的整個Master是一個單進程的模式。K8s的Master還可以在多個Master之間完成自發的選舉,然后由active狀態的Master對外提供服務。

2.在Slave上,它主要是包括Kube proxy、Kubelet,以及Docker等相關的組件,每個Node上部署的相關組件都是類似的,通過它來管理上面運行的多個Pod。

3.根據不同用戶的習慣,可以通過UI或者CLI的方式向K8s提交任務。用戶可以通過K8s提供的Dashboard Web UI的方式將任務進行提交,也可以通過Kubectl命令行的方式進行提交。

Part 02  Flink概述

Apache Flink 是一個框架和分布式處理引擎,用于在無邊界和有邊界數據流上進行有狀態的計算。Flink 能在所有常見集群環境中運行,并能以內存速度和任意規模進行計算。其架構圖如下:

圖片

Flink整個系統包含三個部分:

Client:Flink Client主要給用戶提供向Flink系統提交用戶任務(流式作業)的能力。

TaskManager:Flink系統的業務執行節點,執行具體的用戶任務。TaskManager可以有多個,各個TaskManager都平等。

JobManager:Flink系統的管理節點,管理所有的TaskManager,并決策用戶任務在哪些Taskmanager執行。JobManager在HA模式下可以有多個,但只有一個主JobManager。

Part 03  Flink on K8s部署模式 

Flink的部署方式有很多,支持Local,Standalone,Yarn,Docker,Kubernetes模式等。而根據Flink job的提交模式,又可以分為三種模式:

圖片

模式1:Application Mode

Flink提交的程序,被當做集群內部Application,不再需要Client端做繁重的準備工作。(例如執行main函數,生成JobGraph,下載依賴并分發到各個節點等)。main函數被提交給JobManager執行。一個Application一個Cluster實例。

模式2:Per-Job Mode

可以理解為 Client 模式的Application Mode,利用資源管理框架,例如Yarn,Mesos等,資源隔離性更強。一個Job一個Cluster實例。逐漸被廢棄。

模式3:Session Mode

也是由Client提交,做一些預備工作。但是Cluster的實例已經被創建,是所有Job共享的。一個Job導致的JobManager失敗可能會導致所有的Job失敗。

總的來說,在k8s上可以運行以下四種模式:standalone session,standalone application, native session和native application。其特點如下:

圖片

根據以上特點,一般生產采用native application模式部署。其啟動流程圖如下:

圖片

1.首先創建出了 Service、Master 和 ConfigMap 這幾個資源以后,Flink Master Deployment 里面已經帶了一個用戶 Jar,這個時候 Cluster Entrypoint 就會從用戶 Jar 里面去提取出或者運行用戶的 main,然后產生 JobGraph。之后再提交到 Dispatcher,由 Dispatcher 去產生 Master,然后再向 ResourceManager 申請資源,后面的邏輯的就和 Session 的方式是一樣的。

2.它和 Session 最大的差異就在于它是一步提交的。因為沒有了兩步提交的需求,如果不需要在任務起來以后訪問外部 UI,就可以不用外部的 Service??芍苯油ㄟ^一步提交使任務運行。通過本地的 port-forward 或者是用 K8s ApiServer 的一些 proxy 可以訪問 Flink 的 Web UI。此時,External Service 就不需要了,意味著不需要再占用一個 LoadBalancer 或者占用 NodePort。

Part 04  Flink on native k8s部署實戰

部署Flink之前需要一個正在運行的k8s集群,且滿足以下幾點需求:

  • Kubernetes >= 1.9。
  • KubeConfig,它可以列出、創建、刪除 Pod 和服務,可通過 ~/.kube/config 進行配置。您可以通過運行 kubectl auth can-i <list|create|edit|delete> pods 來驗證權限。
  • 啟用 Kubernetes DNS。
  • 具有創建、刪除 Pod 的 RBAC 權限的默認服務帳戶。

在有了以上的k8s集群后,接下去我們需要執行以下步驟來啟動一個k8s native application任務:

1.創建一個名字為flink-cluster的namespace

kubectl create namespace flink-cluster

2.創建一個賬戶

Kubectl create serviceaccount flink -n flink-cluster

3.Service account和角色綁定

kubectl create clusterrolebinding flink-role-binding-flink \
--clusterrole=edit \
--serviceaccount=flink-cluster:flink

4.編寫Dockerfile文件

# base image
FROM apache/flink:1.14.5-scala_2.11
RUN mkdir -p $FLINK_HOME/usrlib
RUN mkdir -p $FLINK_HOME/hadoopconf
COPY flink-1.14.5/examples/streaming/TopSpeedWindowing.jar $FLINK_HOME/usrlib/TopSpeedWindowing.jar
COPY core-site.xml $FLINK_HOME/hadoopconf
COPY hdfs-site.xml $FLINK_HOME/hadoopconf
# 添加hdfs的相關的jar,為了讀取hdfs
COPY flink-shaded-hadoop2-uber-2.8.3-1.8.3.jar $FLINK_HOME/lib
# 配置HADOOP_CONF_DIR為了獲取hadoop的core-site.xml and hdfs-site.xml ,因為checkpoint是存在hdfs的,需要讀寫hdfs
ENV HADOOP_CONF_DIR=$FLINK_HOME/hadoopconf:$HADOOP_CONF_DIR

5.打鏡像

docker build -t apache/flink:v0.1 .

打鏡像的目錄下存在的文件

core-site.xml
Dockerfile
flink-1.14.5
flink-shaded-hadoop2-uber-2.8.3-1.8.3.jar
hdfs-site.xml

6.啟動application mode的任務

./flink-1.14.5/bin/flink run-application \
--target kubernetes-application \
-Dkubernetes.namespace=flink-cluster \
-Dkubernetes.jobmanager.service-account=flink \
-Dkubernetes.cluster-id=my-first-application-cluster \
-Dkubernetes.high-availability=org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory \
-Dkubernetes.cluster-id=my-first-application-cluster \
-Dhigh-availability.storageDir=hdfs://${your hdfs cluster name}/flink/recovery \
-Dkubernetes.container.image=apache/flink:v0.1 \
-Dkubernetes.rest-service.exposed.type=NodePort \
-Dstate.backend=rocksdb \
-Dstate.checkpoints.dir=hdfs://${your hdfs cluster name}/flink/flink-checkpoints \
-Dstate.backend.incremental=true \
local:///opt/flink/usrlib/TopSpeedWindowing.jar

啟動之后會在最后出現如下的日志,最后的地址就是該任務的web ui地址

2022-07-27 16:45:00,320 INFO  org.apache.flink.kubernetes.KubernetesClusterDescriptor      [] - Create flink application cluster my-first-application-cluster successfully, JobManager Web Interface: http://ip:port

啟動之后我們會看到k8s啟動了以下的flink的組件?

[root@master1 ~]# kubectl get svc -n flink-cluster
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-first-application-cluster ClusterIP None <none> 6123/TCP,6124/TCP 1h
my-first-application-cluster-rest ClusterIP ip xxxx <none> 8082/TCP 46h
[root@master1 ~]# kubectl get deployments -n flink-cluster
NAME READY UP-TO-DATE AVAILABLE AGE
my-first-application-cluster 1/1 1 1 1h
[root@master1 ~]# kubectl get pods -n flink-cluster
NAME READY STATUS RESTARTS AGE
my-first-application-cluster-7c4d9d7994-6vwjr 1/1 Running 0 1h
my-first-application-cluster-taskmanager-1-1 1/1 Running 0 461h

這樣,就表示Flink啟動成功了。我們看到在k8s上有2個pod,分別是jobmanger和taskmanger,一個service用于端口映射。

Part 05  Flink平臺k8s改造實踐

在k8s改造之前,我們已經有了一個Flink計算平臺。其主要包含3個部分,web ui用于用戶提交SQL任務或者JAR任務,web服務端用于解析SQL或者JAR,然后生成Flink Client提交命令,最后執行命令提交任務到集群上去。

圖片

如上圖所示,我們的平臺已經有Yarn和Standalone模式提交。那么支持云原生,只需要在原先基礎上增加一個native k8s提交方式即可。在代碼層面就是在提交任務抽象類上增加一個native k8s的實現。

下圖為具體的一個native k8s SQL任務提交頁面。只需要設置運行模式、運行參數和依賴的第三方jar包,再加上具體的SQL腳本即可完成一個Flink任務的提交。

圖片

文獻來源

[1]Flink官網,《Flink Documentation》

[2]Kubernetes官網,《kubernetes Documentation》、

[3]騰訊云開發者社區,《原生的在K8s上運行Flink》

[4]騰訊云開發者社區,《Flink 1.13 在Native k8s的部署實踐》

[5]51CTO,《網易游戲 Flink SQL 平臺化實踐》?

責任編輯:未麗燕 來源: 移動Labs
相關推薦

2022-07-07 10:41:53

鯤鵬

2016-01-14 10:02:54

DockerOpenStack私有云

2023-04-12 07:26:58

翼支付大數據平臺

2015-09-21 15:00:54

聯想OpenStack企業云平臺

2017-03-07 10:00:01

定義實踐DevOps

2024-02-27 07:27:58

云原生推薦系統架構云原生技術棧

2022-12-26 16:34:51

開源云原生

2015-09-22 10:57:43

樂視云OpenStack IaaS

2022-07-12 13:41:38

云計算云安全

2021-08-02 09:40:57

Dapr阿里云Service Mes

2023-07-18 18:14:51

云原生軟件架構

2017-11-28 15:16:47

KubernetesCephGPU云

2013-01-04 13:34:31

云計算北龍超云

2021-03-04 09:37:40

云計算云原生計算云安全

2013-10-18 15:02:08

OpenStack

2022-07-19 16:36:33

網易游戲FlinkSQL

2020-03-04 09:56:56

網絡安全云原生容器

2022-05-02 15:11:15

Bytedoc云原生數據庫服務

2020-09-18 13:09:15

云原生云安全網絡安全

2021-06-15 09:57:23

云計算云原生云開發
點贊
收藏

51CTO技術棧公眾號

国产成人短视频| 欧美成人一区二区三区片免费| 欧美日韩综合久久| 进去里视频在线观看| 久久精品久久久| 精品噜噜噜噜久久久久久久久试看| 黄色一级视频片| aⅴ在线视频男人的天堂| 韩国视频一区二区| 97精品视频在线播放| 国产无遮挡在线观看| 亚洲网址在线观看| 色婷婷综合久久久| 久久www视频| 久青草国产在线| 国产原创一区二区| 欧美中文在线观看| 青青青在线免费观看| 美日韩中文字幕| 日韩亚洲欧美一区二区三区| 国模杨依粉嫩蝴蝶150p| 97超碰资源站在线观看| 国产日产欧产精品推荐色| 97超级碰碰| 国产在线一级片| 国产日韩视频| 欧美黑人又粗大| 婷婷激情四射网| 欧美日韩国产免费观看视频| 亚洲国模精品一区| 无套白嫩进入乌克兰美女| 91亚洲精品| 岛国av在线不卡| 17c丨国产丨精品视频| 日本视频在线观看| 国产午夜亚洲精品不卡| 久久精品日产第一区二区三区精品版| 国产又粗又大又爽视频| 三级久久三级久久| 97香蕉久久超级碰碰高清版| 久久久久久久蜜桃| 综合精品久久| 久久九九有精品国产23| 美女100%露胸无遮挡| 免费一区二区| 日韩精品中文字幕视频在线| 亚洲av无码专区在线播放中文| 国色天香久久精品国产一区| 欧美麻豆精品久久久久久| 九九热在线免费| 自拍偷自拍亚洲精品被多人伦好爽 | 欧美又大又粗又长| 在线观看 中文字幕| 精品动漫av| 久久久久久久久久国产精品| 国产一级生活片| 国内激情久久| 97碰碰碰免费色视频| 精品无码人妻一区二区三区品| 在线看片不卡| 欧美高清视频一区二区| 免费在线看黄网址| 激情婷婷久久| 9.1国产丝袜在线观看| 午夜精品三级久久久有码| 日韩午夜av在线| 7m第一福利500精品视频| 美日韩一二三区| 另类天堂av| 国产精品久久久久久av下载红粉| 欧美日韩在线视频播放| 免费成人在线网站| 亚洲自拍偷拍一区| 亚洲精品97久久中文字幕无码 | 欧美视频一二三区| 不卡的在线视频| 日韩精品视频在线看| 日韩精品一区二| 亚洲黄色免费在线观看| 久久最新网址| 播播国产欧美激情| 欧美黑吊大战白妞| 国产亚洲综合精品| 国产日韩亚洲欧美| 高h调教冰块play男男双性文| av午夜精品一区二区三区| 欧美大香线蕉线伊人久久| 波多野结衣在线影院| 最好看的中文字幕久久| 青青青青在线视频| 韩国成人动漫| 欧美一区二区视频观看视频| 又黄又爽的网站| 波多野结衣在线观看一区二区三区 | 夜级特黄日本大片_在线 | 日韩精品一区二区三区四| 18video性欧美19sex高清| 一本到不卡免费一区二区| www.cao超碰| 美女网站色精品尤物极品姐弟| 亚洲午夜小视频| 亚洲国产精品久| 日韩中文欧美在线| 成人av免费看| 91.xxx.高清在线| 亚洲444eee在线观看| 亚洲福利精品视频| 精品久久97| 日韩中文字幕国产精品| 日韩精品成人在线| 极品少妇xxxx偷拍精品少妇| 蜜桃免费一区二区三区| 怡红院av在线| 欧美日韩国产一二三| 久久丫精品国产亚洲av不卡| 亚洲电影影音先锋| 国产精品盗摄久久久| 人妻91麻豆一区二区三区| 国产精品不卡在线观看| 欧美三级一级片| 亚洲精品a区| 日韩中文第一页| 国产成人无码一区二区在线播放| 国产成人免费高清| 最新不卡av| 日韩欧美精品一区二区综合视频| 亚洲成色777777女色窝| 唐朝av高清盛宴| 蜜臀91精品一区二区三区| 欧美激情论坛| 国产精品一二三产区| 日韩精品综合一本久道在线视频| 少妇太紧太爽又黄又硬又爽小说| 亚洲一区图片| 久久国产精品 国产精品| 欧美1—12sexvideos| 欧美二区在线观看| 在线免费看av网站| 久久99精品国产麻豆婷婷洗澡| 日韩在线电影一区| 超碰在线cao| 欧美精品一区视频| 日韩av片在线播放| 成人免费毛片片v| 91成人综合网| 国产人妖ts一区二区| 欧美激情图片区| 亚洲精品无amm毛片| 一个色在线综合| 中文字幕99页| 亚洲激情av| 国产日韩久久| 欧美freesex黑人又粗又大| 亚洲国产天堂久久综合网| 国产亚洲欧美久久久久| 成人免费视频caoporn| a级黄色小视频| 日韩aaa久久蜜桃av| 国产69精品久久久久久| 天天综合网在线| 欧美午夜精品在线| a级在线免费观看| 免费成人在线观看| 香蕉视频在线网址| 91成人噜噜噜在线播放| 97久久久久久| 美国一级片在线免费观看视频 | 国产精品视频第一页| 综合久久久久综合| 制服下的诱惑暮生| 99精品福利视频| 日本黑人久久| 伊人久久综合网另类网站| 欧美大胆a视频| 无码精品人妻一区二区三区影院| 日韩欧美国产一区二区| 99自拍偷拍视频| 国产美女一区二区三区| 黄页网站大全在线观看| 国产影视一区| 成人在线视频福利| av中文字幕电影在线看| 亚洲午夜国产成人av电影男同| 伊人成人在线观看| 亚洲一区免费在线观看| 亚洲精品午夜视频| 国产乱妇无码大片在线观看| 国产极品尤物在线| 欧美激情777| 国产精品视频入口| 成人午夜精品| 欧美人与物videos| 日韩精品视频在线观看一区二区三区| 欧美亚洲一区三区| 久久免费精彩视频| 亚洲国产精品ⅴa在线观看| 一卡二卡三卡四卡五卡| 视频一区国产视频| 日本a级片在线播放| 免费视频国产一区| 99在线观看视频| 777午夜精品电影免费看| 欧美激情一级精品国产| 成年人在线免费观看| 精品国产区一区| 中文有码在线播放| 欧美日韩国产区| 青娱乐av在线| 国产精品理伦片| 三级男人添奶爽爽爽视频| 久久精品72免费观看| 日本熟妇人妻xxxxx| 中文字幕一区二区三区欧美日韩| 欧美日韩一区在线播放| 亚洲精品aⅴ| 国产自摸综合网| 亚洲淫成人影院| 欧美激情欧美激情| 久久综合之合合综合久久| 亚洲人成在线观看| 日韩在线观看视频一区| 欧美一级xxx| 中文字幕有码视频| 日本大香伊一区二区三区| 日韩精品人妻中文字幕| 亚洲精品国产精品乱码不99| 永久免费观看片现看| 久久久亚洲综合| 国产精品久久久免费观看| 国产成人精品午夜视频免费| 中文字幕1234区| 麻豆精品新av中文字幕| 日韩精品一区二区三区不卡| 亚洲综合二区| 精品视频免费在线播放| 一区在线视频观看| 青青在线视频免费观看| 亚洲深深色噜噜狠狠爱网站| 亚洲人成网站在线播放2019| 成人影院天天5g天天爽无毒影院| 欧美动漫一区二区| 免费一区二区| 日韩中文字幕一区二区| 国产在视频线精品视频www666| 精品无码久久久久国产| 久久这里只有精品一区二区| 国产精品视频一区二区三区经| 日韩高清一区| 国产精品一区二区你懂得| 亚洲一区二区免费在线观看| 91精品综合久久| 91久久精品无嫩草影院| 成人高清在线观看| www.成人网| 精品久久久久久中文字幕动漫| 蜜桃久久久久| 国内精品二区| 国产不卡av一区二区| 午夜精品一区二区在线观看的| 日韩欧美一区二区三区免费看| 在线一区高清| 亚洲特级毛片| 久久久免费视频网站| 日产欧产美韩系列久久99| jizz大全欧美jizzcom| 国产麻豆视频精品| 四虎精品一区二区| 91一区在线观看| 成人黄色免费网址| 亚洲欧美日韩小说| 国产精品7777| 一本一道波多野结衣一区二区| 无码人妻精品一区二| 欧美日本乱大交xxxxx| 亚洲精品免费在线观看视频| 精品视频久久久久久| 色网站免费在线观看| 欧美国产视频日韩| 天天免费亚洲黑人免费| 国产又爽又黄的激情精品视频| 免费精品一区| 狼狼综合久久久久综合网| 精品国产一区二区三区久久久樱花| 黄频视频在线观看| 伊人久久大香线蕉av超碰演员| 激情五月开心婷婷| 国产最新精品精品你懂的| 久久精品女同亚洲女同13| 久久色在线观看| 黄色一级片中国| 色香蕉成人二区免费| 国产精品高潮呻吟AV无码| 亚洲精品99久久久久| 欧美日韩欧美| 97av视频在线| 日韩电影免费观看高清完整版在线观看| 99re资源| 日韩理论在线| 日本wwww视频| 国产一区二区电影| www亚洲色图| 午夜精品福利一区二区三区蜜桃| 在线观看中文字幕码| 亚洲成人a级网| 男人天堂久久久| 欧美中文字幕在线观看| 欧美成人一级| 亚洲成人av动漫| 野花国产精品入口| 涩多多在线观看| 国产偷国产偷亚洲高清人白洁| 精品无码久久久久久久久| 欧美日韩成人在线| 男女av在线| 高清一区二区三区日本久| 国产精品xnxxcom| 亚洲美女网站18| 首页亚洲欧美制服丝腿| 精品人妻一区二区三区日产| 亚洲欧美日韩在线| 在线观看毛片av| 国产亚洲一区二区在线| 涩涩涩视频在线观看| 国产精品日韩欧美一区二区三区| 国产精品成人一区二区不卡| 日本久久精品一区二区| 91在线国内视频| 亚洲黄色三级视频| 精品盗摄一区二区三区| 久久五月精品中文字幕| 亚洲aa中文字幕| 亚洲精品二区三区| 亚洲国产成人va在线观看麻豆| 国产亚洲人成网站| 99久久久无码国产精品免费蜜柚 | a级在线免费观看| 欧美视频免费在线| 四虎精品在永久在线观看| 久久人人爽人人爽人人片av高请| 久久伦理中文字幕| 午夜啪啪福利视频| 狠狠网亚洲精品| 91免费公开视频| 欧美一级黄色片| 污污片在线免费视频| 99久久久久国产精品免费 | aaaaaa亚洲| 久久久国产精品麻豆| 日本精品入口免费视频| 一区二区三区亚洲| 精品视频在线一区二区在线| 色一情一区二区三区四区| 日本视频一区二区三区| 美女福利视频网| 91精品国产91热久久久做人人| 久久国产精品一区| 91手机在线播放| 影音先锋一区| 亚洲国产精品成人综合久久久| 狠狠躁18三区二区一区| 色综合成人av| 国产成人综合亚洲| 久久综合成人| 先锋资源在线视频| 五月综合激情婷婷六月色窝| 日韩大胆视频| 国产精品视频资源| 在线成人超碰| 好吊色视频一区二区三区| 色综合天天综合| 九七电影韩国女主播在线观看| 国产二区不卡| 亚洲欧美日韩国产一区| jizzjizz日本少妇| 日韩欧美国产午夜精品| 涩涩在线视频| 一区二区三区四区| 国产成人三级在线观看| 欧美h在线观看| 久久激情五月丁香伊人| 日韩三级网址| 国产福利视频在线播放| 亚洲人成在线播放网站岛国| 四虎精品一区二区三区| 国产精品欧美一区二区三区奶水| 女人香蕉久久**毛片精品| av鲁丝一区鲁丝二区鲁丝三区| 欧美性受xxxx黑人xyx| 蜜乳av一区| 亚洲一卡二卡三卡四卡无卡网站在线看| 国产精品一区2区| 日本黄色一级视频| 欧美大片免费观看| av中文一区| 精品久久久久一区二区| 欧美日本乱大交xxxxx| 老色鬼在线视频| 一区二区三区四区免费观看| 久久综合999| 精品国产999久久久免费|