002 基于 Standalone 模式部署 Flink 服務(wù)

這將是一套完整詳細(xì)且持續(xù)更新的、長(zhǎng)期維護(hù)的 原創(chuàng) Flink系列教程烁焙、文檔,其中會(huì)包含各種商用實(shí)例詳解耕赘、Flink源碼講解骄蝇、機(jī)制剖析、周邊組件講解等操骡,旨在幫助開(kāi)發(fā)者快速融入Flink開(kāi)發(fā)九火,或作為工具文檔參閱。也希望更多的開(kāi)發(fā)者可以參與到大數(shù)據(jù)相關(guān)的技術(shù)討論中來(lái)册招,共同商討疑難雜癥岔激,豐富社區(qū)∈顷——盡際

本文標(biāo)題: 基于 Standalone 模式部署 Flink 服務(wù)

文章作者: 盡際

發(fā)布時(shí)間: 2019年07月25日 - 23:38:30

最后更新: 2019年07月25日 - 23:38:30

原始鏈接:

許可協(xié)議: 署名-非商業(yè)性使用-禁止演繹 4.0 國(guó)際 轉(zhuǎn)載請(qǐng)保留原文鏈接及作者虑鼎。


二、基于 Standalone 模式部署 Flink 服務(wù)

通過(guò)上一篇文章键痛,我們已經(jīng)下載了Flink 1.8.1版本的安裝包到本地磁盤(pán):

  • flink-1.8.1-bin-scala_2.11.tgz
  • flink-shaded-hadoop-2-uber-2.7.5-7.0.jar

然后將其上傳至虛擬機(jī)中炫彩。

接下來(lái),開(kāi)始部署 Flink 服務(wù)絮短。在此過(guò)程中江兢,會(huì)穿插Flink相關(guān)概念的講解。

2.1 基于 Standalone 模式部署 Flink 服務(wù)

本教程會(huì)基于兩種模式(Standalone 和 YARN)部署 Flink 服務(wù)丁频。

本章首先使用 Standalone 模式部署 Flink 服務(wù)杉允。Standalone 是 Flink 自帶的服務(wù)管理模式邑贴,不需要依賴(lài)于其他分布式組件,也不需要提前安裝其他第三方服務(wù)叔磷,從而達(dá)到開(kāi)箱即用的效果拢驾。

2.1.1 Flink 服務(wù)介紹

在部署 Flink 服務(wù)之前,我們需要提前了解如下兩個(gè)基本概念:

  • 客戶(hù)端(Client)

    向 Flink 集群提交 Job 的客戶(hù)端世澜。并可以持續(xù)與 Flink 集群進(jìn)行 RPC 通信独旷,從而持續(xù)獲取 Job 的運(yùn)行狀態(tài)。

  • 主服務(wù)(JobManager)

    Flink 主服務(wù) 的名稱(chēng)為 JobManager寥裂。它是一個(gè) Java 進(jìn)程嵌洼。

    該服務(wù)所在的節(jié)點(diǎn)(宿主機(jī))稱(chēng)之為 Flink 主節(jié)點(diǎn)(Master)。

    該服務(wù)主要用來(lái)接收用戶(hù)(Client 端)提交的Flink Job(數(shù)據(jù)分析任務(wù))封恰,并將 Job 調(diào)度分配到從服務(wù)上運(yùn)行麻养。

  • 從服務(wù)(TaskManager)

    Flink 從服務(wù) 的名稱(chēng)為 TaskManager,它也是一個(gè)Java進(jìn)程诺舔。

    該服務(wù)所在的節(jié)點(diǎn)(宿主機(jī))稱(chēng)之為 Flink 從節(jié)點(diǎn)(Woker)鳖昌。

    該服務(wù)主要用來(lái)運(yùn)行 JobManager 派發(fā)過(guò)來(lái)的 Flink Job。

在部署 Flink 服務(wù)階段低飒,暫且不需要了解太多關(guān)于任務(wù)運(yùn)行的概念许昨。后續(xù)再慢慢展開(kāi)介紹。此處將展示 Flink 服務(wù)的官方架構(gòu)如圖2-1 所示褥赊,讀者暫且粗略了解即可糕档。

  • 圖2-1 Flink 服務(wù)架構(gòu)圖
    Flink 服務(wù)架構(gòu)圖.png

2.1.2 基于 Standalone 模式部署服務(wù)

了解了 Flink 服務(wù)的基本概念后,開(kāi)始根據(jù)如下步驟部署服務(wù)吧拌喉。

在本例中速那,將在 3 臺(tái)虛擬機(jī)中部署的 Flink 服務(wù)如表2-1 所示。

  • 表2-1 Standalone 模式下部署的 Flink 服務(wù)的分布

    linux01 linux02 linux03
    JobManager - -
    - TaskManager TaskManager
  1. 解壓 Flink 壓縮包

    將Flink壓縮包上傳至第一臺(tái)虛擬機(jī)的 ~/softwares/installations 目錄后尿背,使用如下命令進(jìn)行解壓:

    $ tar -zxf tar -zxf ~/softwares/installations/flink-1.8.1-bin-scala_2.11.tgz -C ~/modules/
    
  2. 修改配置文件

    • 修改flink-conf.yaml文件

      修改 conf 目錄下的 flink-conf.yaml 配置文件端仰,涉及到修改的內(nèi)容如下所示:

      jobmanager.rpc.address: linux01
      

      該項(xiàng)配置是指將筆者所使用的第一臺(tái)虛擬機(jī)作為 Master 節(jié)點(diǎn),即田藐,第一臺(tái)機(jī)器會(huì)開(kāi)啟 Flink 的JobManager服務(wù)荔烧。

      提示:如果Master和Worker機(jī)器上沒(méi)有配置JAVA_HOME環(huán)境變量,需要在 flink-conf.yaml 中通過(guò) env.java.home 變量指定JAVA的安裝目錄汽久。

  • 修改slaves文件

    修改 conf 目錄下的 slaves 配置文件茴晋,修改后的內(nèi)容如下所示:

    linux02
    linux03
    

    該文件中的每一行是一個(gè) IP主機(jī)名,代表稍后會(huì)在這些節(jié)點(diǎn)上開(kāi)啟 TaskManager 服務(wù)回窘。

  1. 合理配置依賴(lài)包

    • 添加 Flink-Table 依賴(lài)包

      在生產(chǎn)環(huán)境中诺擅,開(kāi)發(fā)者開(kāi)發(fā)的 Flink 應(yīng)用程序可能會(huì)伴隨 Table API 的操作(支持以 SQL 的方式進(jìn)行數(shù)據(jù)分析),因此啡直,開(kāi)發(fā)者需要將 Flink 安裝目錄下的 opt 中的 flink-table_2.11-1.8.1.jar 包拷貝到 lib 目錄中烁涌。操作命令如下所示:

      $ pwd
      /home/admin/modules/flink-1.8.1
      $ cp -a opt/flink-table_2.11-1.8.1.jar lib/
      
    • 添加 Hadoop 依賴(lài)包

      將之前下載好的 flink-shaded-hadoop-2-uber-2.7.5-7.0.jar 包移動(dòng)至 Flink 安裝目錄的 lib 目錄中苍碟,使 Flink 能夠支持對(duì) Hadoop 的操作。操作命令如下所示:

      $ pwd
      /home/admin/modules/flink-1.8.1
      $ cp -a ~/softwares/installations/flink-shaded-hadoop-2-uber-2.7.5-7.0.jar ./lib/
      

    以上操作完成后撮执,即可看到 lib 目錄下的內(nèi)容如下所示:

    $ ll lib/
    flink-dist_2.11-1.8.1.jar
    flink-shaded-hadoop-2-uber-2.7.5-7.0.jar
    flink-table_2.11-1.8.1.jar
    log4j-1.2.17.jar
    slf4j-log4j12-1.7.15.jar
    
  2. 分發(fā) Flink 安裝目錄

    以上步驟配置完成后微峰,即可分發(fā)該安裝包到其他節(jié)點(diǎn),操作命令如下:

    $ pwd
    /home/admin/modules
    scp -r flink-1.8.1/ admin@linux02:/home/admin/modules/
    scp -r flink-1.8.1/ admin@linux03:/home/admin/modules/
    

    提示:在進(jìn)行上述操作時(shí)抒钱,最好配置完成集群各個(gè)節(jié)點(diǎn)之間的 SSH 無(wú)秘鑰訪(fǎng)問(wèn)蜓肆。其中 scp -r 表示遠(yuǎn)程分發(fā)目錄到后面的節(jié)點(diǎn)對(duì)應(yīng)目錄中。

    分發(fā)完成后谋币,即可在其他節(jié)點(diǎn)對(duì)應(yīng)目錄中查看到 Flink 安裝包仗扬。

  3. 啟動(dòng) Flink 服務(wù)

    接下來(lái),即可啟動(dòng) Flink 集群蕾额,操作命令如下:

    $ pwd
    /home/admin/modules/flink-1.8.1
    $ bin/start-cluster.sh
    Starting cluster.
    Starting standalonesession daemon on host linux01.
    Starting taskexecutor daemon on host linux02.
    Starting taskexecutor daemon on host linux03.
    

    稍等片刻早芭,我們即可通過(guò) jps 分別查看到 3 臺(tái)節(jié)點(diǎn)的進(jìn)程如下:

    ----------------admin@linux01-----------------
    4132 Jps
    4038 StandaloneSessionClusterEntrypoint
    ----------------admin@linux02-----------------
    3057 Jps
    2951 TaskManagerRunner
    ----------------admin@linux03-----------------
    2977 TaskManagerRunner
    3032 Jps
    

    現(xiàn)在,可以通過(guò)瀏覽器诅蝶,訪(fǎng)問(wèn) Flink Master 節(jié)點(diǎn)的地址進(jìn)入后臺(tái)管理頁(yè)面退个,查看啟動(dòng)的集群服務(wù)。

    后臺(tái)頁(yè)面默認(rèn)地址如下:

    http://linux01:8081
    

    提示:如果在 Windows 中通過(guò)瀏覽器訪(fǎng)問(wèn)虛擬機(jī)中的頁(yè)面服務(wù)调炬,可以通過(guò)虛擬機(jī)的 IP 地址訪(fǎng)問(wèn)如果想要通過(guò)虛擬機(jī)的主機(jī)名訪(fǎng)問(wèn)语盈,則需要將虛擬機(jī)的 IP 地址與虛擬機(jī)的主機(jī)名配置到 Windows 中的 C:/windows/system32/driver/etc/hosts文件中。

    查看到的頁(yè)面效果如圖2-2 所示缰泡。

  • 圖2-2 Flink 后臺(tái)管理頁(yè)面
    Flink 后臺(tái)管理頁(yè)面.png

2.2 基于 Standalone 模式提交 Flink Job

完成上述部署后刀荒,可通過(guò)運(yùn)行官方提供的一個(gè)案例來(lái)檢測(cè)集群是否能夠正常工作。運(yùn)行官方案例的命令如下:

$ pwd
/home/admin/modules/flink-1.8.1
$  bin/flink run ./examples/batch/WordCount.jar

正常情況下匀谣,提交上述命令后照棋,前往 Flink 后臺(tái)管理頁(yè)面资溃,即可看到如圖2-3 所示內(nèi)容武翎。

  • 圖2-3 提交的 Flink Job
    提交Flink Job.png

在上述提交 Job 的命令中,是最簡(jiǎn)化的形式溶锭,開(kāi)發(fā)者在提交任務(wù)時(shí)宝恶,還可以通過(guò)其他參數(shù)配置 Job 運(yùn)行時(shí)的資源、狀態(tài)趴捅、功能等信息垫毙。我們將在后續(xù)的章節(jié)中進(jìn)行說(shuō)明。

2.3 本章小結(jié)

本章基于 Standalone 模式部署了 Flink 服務(wù)拱绑,在此過(guò)程中综芥,忽略了配置文件中的若干可配置項(xiàng),并簡(jiǎn)述了相關(guān)概念猎拨。目的在于先將集群環(huán)境梳理清楚膀藐,完成集群搭建屠阻,循序漸進(jìn)捋清前置知識(shí)。下一章额各,我們將基于 YARN 模式部署 Flink 服務(wù)国觉。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市虾啦,隨后出現(xiàn)的幾起案子麻诀,更是在濱河造成了極大的恐慌,老刑警劉巖傲醉,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝇闭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡需频,警方通過(guò)查閱死者的電腦和手機(jī)丁眼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)昭殉,“玉大人苞七,你說(shuō)我怎么就攤上這事∨捕” “怎么了蹂风?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)乾蓬。 經(jīng)常有香客問(wèn)我惠啄,道長(zhǎng),這世上最難降的妖魔是什么任内? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任撵渡,我火速辦了婚禮,結(jié)果婚禮上死嗦,老公的妹妹穿的比我還像新娘趋距。我一直安慰自己,他們只是感情好越除,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布节腐。 她就那樣靜靜地躺著,像睡著了一般摘盆。 火紅的嫁衣襯著肌膚如雪翼雀。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天孩擂,我揣著相機(jī)與錄音狼渊,去河邊找鬼。 笑死类垦,一個(gè)胖子當(dāng)著我的面吹牛狈邑,可吹牛的內(nèi)容都是我干的坦弟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼官地,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼酿傍!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起驱入,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤赤炒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后亏较,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體莺褒,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年雪情,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遵岩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巡通,死狀恐怖尘执,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宴凉,我是刑警寧澤誊锭,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站弥锄,受9級(jí)特大地震影響丧靡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜籽暇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一温治、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戒悠,春花似錦熬荆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捏顺。三九已至六孵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間幅骄,已是汗流浹背劫窒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拆座,地道東北人主巍。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓冠息,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親孕索。 傳聞我的和親對(duì)象是個(gè)殘疾皇子逛艰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345