Flink快速上手

(轉)

安裝:下載並啓動

  Flink可以在Linux、Mac OS X以及Windows上運行。爲了能夠運行Flink,唯一的要求是必須安裝Java 7.x或者更高版本。對於Windows用戶來說,請參考 Flink on Windows 文檔,裏面介紹瞭如何在Window本地運行Flink。

下載

  從下載頁面(http://flink.apache.org/downloads.html)下載所需的二進制包。你可以選擇任何與 Hadoop/Scala 結合的版本。比如 Flink for Hadoop 2。

啓動一個local模式的Flink集羣

啓動一個local模式的Flink集羣非常地簡單,我們可以按照以下的步驟來操作:

  1、進入到下載的目錄;
  2、解壓下載的文件;
  3、啓動Flink。

操作命令如下:

$ </code><code class="bash functions">cd</code> <code class="bash plain">~</code><code class="bash plain">/Downloads</code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <code class="bash comments"># Go to download directory</code></div><div class="line number2 index1 alt1"><code class="bash plain">$ tar xzf flink-.tgz   # Unpack the downloaded archive
$ </code><code class="bash functions">cd</code> <code class="bash plain">flink-1.0.0</code></div><div class="line number4 index3 alt1"><code class="bash plain">$ bin/start-local.sh    # Start Flink

打開https://www.iteblog.com:8081檢查Jobmanager和其他組件是否正常運行。Web前端應該顯示了只有一個可用的 TaskManager。

運行例子

現在,我們來運行SocketTextStreamWordCount例子,它從socket中獲取文本,然後計算每個單詞出現的次數。操作步驟如下:

1、首先,我們使用netcat來啓動本地服務器:

$ nc -l -p 9000</code></div></div></td></tr></tbody></table></div></div> <p>2、然後我們就可以提交Flink程序了:</p> <div><div id="highlighter_370034" class="syntaxhighlighter nogutter bash"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain">$ bin/flink run examples/streaming/SocketTextStreamWordCount.jar \
  --hostname localhost \
  --port 9000
 
Printing result to stdout. Use --output to specify output path.
04/05/2016 16:03:36 Job execution switched to status RUNNING.
04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to SCHEDULED
04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to DEPLOYING
04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to SCHEDULED
04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to DEPLOYING
04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to RUNNING
04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to RUNNING
04/05/2016 17:00:43 Source: Socket Stream -> Flat Map(1/1) switched to FINISHED
04/05/2016 17:00:43 Keyed Aggregation -> Sink: Unnamed(1/1) switched to FINISHED
04/05/2016 17:00:43 Job execution switched to status FINISHED.

這個程序和socket進行了連接,並等待輸入。我們可以在WEB UI中檢查Job是否正常運行:

3、計數會打印到標準輸出stdout。監控JobManager的輸出文件(.out文件),並在nc中敲入一些單詞:

$ nc -l -p 9000</code></div><div class="line number2 index1 alt1"><code class="bash plain">lorem ipsum</code></div><div class="line number3 index2 alt2"><code class="bash plain">ipsum ipsum ipsum</code></div><div class="line number4 index3 alt1"><code class="bash plain">bye</code></div></div></td></tr></tbody></table></div></div> <p>.out 文件會立即打印出單詞的計數:</p> <div><div id="highlighter_4079" class="syntaxhighlighter nogutter bash"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain">$ tail -f log/flink--jobmanager-*.out
(lorem,1)
(ipsum,1)
(ipsum,2)
(ipsum,3)
(ipsum,4)
(bye,1)

要停止 Flink,只需要運行:

$ bin/stop-local.sh

集羣模式安裝

  在集羣上運行 Flink 是和在本地運行一樣簡單的。需要先配置好 SSH 免密碼登錄 和保證所有節點的目錄結構是一致的,這是保證我們的腳本能正確控制任務啓停的關鍵。然後我們就可以按照下面步驟來操作:

  1、在每臺節點上,複製解壓出來的 flink 目錄到同樣的路徑下。
  2、選擇一個 master 節點 (JobManager) 然後在 conf/flink-conf.yaml 中設置 jobmanager.rpc.address 配置項爲該節點的 IP 或者主機名。確保所有節點有有一樣的 jobmanager.rpc.address 配置。
  3、將所有的 worker 節點 (TaskManager)的 IP 或者主機名(一行一個)填入 conf/slaves 文件中。

現在,你可以在 master 節點上啓動集羣:bin/start-cluster.sh

下面的例子闡述了三個節點的集羣部署(IP地址從 10.0.0.1 到 10.0.0.3,主機名分別爲 master, worker1, worker2)。並且展示了配置文件,以及所有機器上一致的可訪問的安裝路徑。

訪問https://ci.apache.org/projects/flink/flink-docs-release-1.0/setup/config.html查看更多可用的配置項。爲了使 Flink 更高效的運行,還需要設置一些配置項。

以下都是非常重要的配置項:

  1、TaskManager 總共能使用的內存大小(taskmanager.heap.mb)
  2、每一臺機器上能使用的 CPU 個數(taskmanager.numberOfTaskSlots)
  3、集羣中的總 CPU 個數(parallelism.default)
  4、臨時目錄(taskmanager.tmp.dirs)

你可以很方便地將 Flink 部署在現有的YARN集羣上,操作如下:

  1、下載 Flink Hadoop2 包: Flink with Hadoop 2
  2、確保你的 HADOOP_HOME (或 YARN_CONF_DIR HADOOP_CONF_DIR) 環境變量設置成你的 YARN 和 HDFS 配置。
  3、運行 YARN 客戶端:./bin/yarn-session.sh 。你可以帶參數運行客戶端 -n 10 -tm 8192 表示分配 10 個 TaskManager,每個擁有 8 GB 的內存。

優秀人才不缺工作機會,只缺適合自己的好機會。但是他們往往沒有精力從海量機會中找到最適合的那個。
100offer 會對平臺上的人才和企業進行嚴格篩選,讓「最好的人才」和「最好的公司」相遇。
註冊 100offer,談談你對下一份工作的期待。一週內,收到 5-10 個滿足你要求的好機會!
本博客文章除特別聲明,全部都是原創!
禁止個人和公司轉載本文、謝謝理解:過往記憶(https://www.iteblog.com/
本文鏈接: 【Flink快速上手(QuickStart)】(https://www.iteblog.com/archives/1626.html
喜歡 (6) 分享 (0)
發佈了25 篇原創文章 · 獲贊 19 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章