Flink V1.9 官方中文文檔地址:https://ci.apache.org/projects/flink/flink-docs-release-1.9/zh/。
一携取、 Mac 上安裝 Flink
1.1 確保安裝了 JDK 1.8+ 版本
Flink 的核心模塊使用 Java 開(kāi)發(fā)澄港,因此其運(yùn)行環(huán)境依賴 JDK,且 1.8+ 版本。
查看 java 版本命令:java -version
$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
1.2 安裝方法
直接使用 Mac 自帶的 Homebrew 工具安裝 Flink 即可:
命令:brew install apache-flink
# 默認(rèn)安裝最新版的 flink费什,安裝路徑默認(rèn)/usr/local/Cellar/apache-flink/版本號(hào)
brew install apache-flink
......
###################################################################### 98.5%
######################################################################## 100.0%
?? /usr/local/Cellar/apache-flink/1.9.1: 166 files, 277MB, built in 176 minutes 47 seconds
==> `brew cleanup` has not been run in 30 days, running now...
Removing: /Users/ycaha/Library/Caches/Homebrew/telnet--60.high_sierra.bottle.tar.gz... (52.7KB)
Removing: /Users/ycaha/Library/Caches/Homebrew/Cask/jd-gui--1.6.0.tar... (1.4MB)
1.3 測(cè)試安裝是否成功 ?
然后測(cè)試是否安裝成功:
命令:flink --version
或者 brew info apache-flink
$ flink --version
Version: 1.9.1, Commit ID: 4d56de8
或者
$ brew info apache-flink
apache-flink: stable 1.9.1, HEAD
Scalable batch and stream data processing
https://flink.apache.org/
/usr/local/Cellar/apache-flink/1.9.1 (167 files, 277MB) *
Built from source on 2019-11-26 at 14:16:21
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/apache-flink.rb
==> Requirements
Required: java = 1.8 ?
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 1,585 (30 days), 4,592 (90 days), 18,565 (365 days)
install_on_request: 1,574 (30 days), 4,572 (90 days), 18,411 (365 days)
build_error: 0 (30 days)
二手素、啟動(dòng) Flink
使用 Mac 的 Homebrew 工具安裝的 flink 默認(rèn)在路徑/usr/local/Cellar/apache-flink/1.9.1
鸳址,其中1.9.1 是版本號(hào)。通過(guò)腳本來(lái)啟動(dòng) flink泉懦,在/usr/local/Cellar/apache-flink/1.9.1/libexec/bin/
目錄下存在很多腳本文件:
ll
total 176
drwxr-xr-x 24 ycaha admin 768 Nov 26 14:16 ./
drwxr-xr-x 11 ycaha admin 352 Nov 26 14:16 ../
-rwxr-xr-x 1 ycaha admin 139 Nov 26 14:16 config.sh*
-rwxr-xr-x 1 ycaha admin 148 Nov 26 14:16 find-flink-home.sh*
-rwxr-xr-x 1 ycaha admin 135 Nov 26 14:16 flink*
-rwxr-xr-x 1 ycaha admin 146 Nov 26 14:16 flink-console.sh*
-rwxr-xr-x 1 ycaha admin 145 Nov 26 14:16 flink-daemon.sh*
-rwxr-xr-x 1 ycaha admin 146 Nov 26 14:16 historyserver.sh*
-rwxr-xr-x 1 ycaha admin 143 Nov 26 14:16 jobmanager.sh*
-rwxr-xr-x 1 ycaha admin 152 Nov 26 14:16 mesos-appmaster-job.sh*
-rwxr-xr-x 1 ycaha admin 148 Nov 26 14:16 mesos-appmaster.sh*
-rwxr-xr-x 1 ycaha admin 150 Nov 26 14:16 mesos-taskmanager.sh*
-rwxr-xr-x 1 ycaha admin 155 Nov 26 14:16 pyflink-gateway-server.sh*
-rwxr-xr-x 1 ycaha admin 146 Nov 26 14:16 pyflink-shell.sh*
-rwxr-xr-x 1 ycaha admin 143 Nov 26 14:16 sql-client.sh*
-rwxr-xr-x 1 ycaha admin 147 Nov 26 14:16 standalone-job.sh*
-rwxr-xr-x 1 ycaha admin 146 Nov 26 14:16 start-cluster.sh*
-rwxr-xr-x 1 ycaha admin 150 Nov 26 14:16 start-scala-shell.sh*
-rwxr-xr-x 1 ycaha admin 155 Nov 26 14:16 start-zookeeper-quorum.sh*
-rwxr-xr-x 1 ycaha admin 145 Nov 26 14:16 stop-cluster.sh*
-rwxr-xr-x 1 ycaha admin 154 Nov 26 14:16 stop-zookeeper-quorum.sh*
-rwxr-xr-x 1 ycaha admin 144 Nov 26 14:16 taskmanager.sh*
-rwxr-xr-x 1 ycaha admin 145 Nov 26 14:16 yarn-session.sh*
-rwxr-xr-x 1 ycaha admin 142 Nov 26 14:16 zookeeper.sh*
可以通過(guò)運(yùn)行腳本文件 start-cluster.sh 來(lái)啟動(dòng) flink 集群:
$ sh start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host LMA23004071M.local.
Starting taskexecutor daemon on host LMA23004071M.local.
通過(guò) ps -ef | grep flink
命令可以查到運(yùn)行的 flink 進(jìn)程稿黍。
啟動(dòng) Flink 服務(wù)后,client 還可以通過(guò) REST接口連接到 flink server崩哩,直接在瀏覽器中輸入:http://localhost:8081/#/overview 即可巡球,其中l(wèi)ocalhost 是 rest.address
,8081 是rest.port
邓嘹。
rest.address
和rest.port
的默認(rèn)值分別為localhost 和 8081
酣栈。這兩個(gè)參數(shù)可以在配置文件${flink_home}/libexec/conf/flink-conf.yaml
中修改,然后重啟 flink server(通過(guò)先后執(zhí)行腳本 start-cluster.sh
和 stop-cluster.sh
)使得配置生效汹押。
#==============================================================================
# Rest & web frontend
#==============================================================================
# The port to which the REST client connects to. If rest.bind-port has
# not been specified, then the server will bind to this port as well.
#
# rest.port: 8081
# The address to which the REST client will connect to
#
#rest.address: 0.0.0.0