天天看點

三、Flink入門--環境搭建部署

環境搭建部署

      • 1.環境搭建概述
      • 2.stand-alone模式
        • 2.1配置
        • 配置
      • 3.on yarn 模式
        • on yarn single job 模式

1.環境搭建概述

Flink在日常工作時一般使用2種部署方式,stand-alone模式或者是on yarn 模式,stand-alone模式的話部署比較簡單,on-yarn模式需要部署hadoop叢集。我們可以看下flink的架構圖如下:

三、Flink入門--環境搭建部署
  • jobmanager 負責任務排程,checkpoint
  • taskmanager 負責任務的執行
  • client 負責任務的送出

2.stand-alone模式

我們直接部署一個HA模式的stand-alone叢集,一步到位。

前提準備三台伺服器dn1,dn2,dn3(host位址)

  • 安裝jdk8+
  • 配置好 ssh 免密
  • 安裝好zookeeper并啟動

2.1配置

在https://flink.apache.org/downloads.html下載下傳自己所需要部署的安裝包,上傳到dn1并解壓

tar -zxvf flink-1.6.3-bin-hadoop27-scala_2.11.tgz -C /www
           

配置

配置jobmanager兩台

vim /www/flink-1.6.3/conf/master
dn1:8081
dn2:8081
           

配置taskmanager三台

vim /www/flink-1.6.3/conf/slaves
dn1
dn2
dn3
           

配置flink核心配置檔案

vim /www/flink-1.6.3/conf/flink-conf.yaml
high-availability: zookeeper
high-availability.zookeeper.quorum: dn1:2181,dn2:2181,dn3:2181
high-availability.storageDir: hdfs:///mycluster/flink/ha/
           

按照包分發到各台機器

scp -r flink-1.6.3 [email protected]:/www
scp -r flink-1.6.3 [email protected]:/www
           

啟動叢集

bin/start-cluster.sh
           

檢視webui

http://dn1:8081/ 打開正常如下圖所示。同時 http://dn2:8081/ 也會自動跳轉到 http://dn1:8081/ 證明ha模式ok

三、Flink入門--環境搭建部署

3.on yarn 模式

三、Flink入門--環境搭建部署

搭建hadoop叢集步驟省略,啟動yarn-sesion

bin/yarn-session.sh -n 2 -jm 1024 -tm 1024 -qu root.up
           

會在yarn界面上看到一個啟動狀态的Flink任務,appname=Flink Session cluster

三、Flink入門--環境搭建部署

可以通過以下指令送出一個flink任務

./bin/flink run ./examples/batch/WordCount.jar --input hdfs://mycluster/tmp/input/ --output hdfs://mycluster/tmp/output1
           

源檔案輸入為:

hello word
wc
           
三、Flink入門--環境搭建部署

檢視結果

hadoop fs -cat hdfs://mycluster/tmp/output1
hello 1
wc 1
word 1
           

job運作完成後,taskmanager會被自動回收

on yarn single job 模式

single job模式就是每次送出都會産生一個新的appid,相當于每次一個新的yarn-session,送出指令如下:

./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 -yqu root.up ./examples/batch/WordCount.jar  -input hdfs://mycluster/tmp/input/ -output hdfs://mycluster/tmp/output2
           
三、Flink入門--環境搭建部署

會發現這個任務很快就執行完成,并且釋放了資源

檢視結果:

hadoop fs -cat hdfs://mycluster/tmp/output2
hello 1
wc 1
word 1
           

繼續閱讀