前面文章咱們已經知道 Flink 是什麼東西了,安裝好 Flink 後,咱們再來看下安裝路徑下的配置文件吧。html
![](http://static.javashuo.com/static/loading.gif)
安裝目錄下主要有 flink-conf.yaml 配置、日誌的配置文件、zk 配置、Flink SQL Client 配置。前端
flink-conf.yaml
基礎配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
# jobManager 的IP地址
jobmanager.rpc.address: localhost
# JobManager 的端口號
jobmanager.rpc.port: 6123
# JobManager JVM heap 內存大小
jobmanager.heap.size: 1024m
# TaskManager JVM heap 內存大小
taskmanager.heap.size: 1024m
# 每一個 TaskManager 提供的任務 slots 數量大小
taskmanager.numberOfTaskSlots: 1
# 程序默認並行計算的個數
parallelism.default: 1
# 文件系統來源
# fs.default-scheme |
高可用性配置
1
2
3
4
5
6
7
8
9
10
11 |
# 能夠選擇 'NONE' 或者 'zookeeper'.
# high-availability: zookeeper
# 文件系統路徑,讓 Flink 在高可用性設置中持久保存元數據
# high-availability.storageDir: hdfs:///flink/ha/
# zookeeper 集羣中仲裁者的機器 ip 和 port 端口號
# high-availability.zookeeper.quorum: localhost:2181
# 默認是 open,若是 zookeeper security 啓用了該值會更改爲 creator
# high-availability.zookeeper.client.acl: open |
容錯和檢查點 配置
1
2
3
4
5
6
7
8
9
10
11 |
# 用於存儲和檢查點狀態
# state.backend: filesystem
# 存儲檢查點的數據文件和元數據的默認目錄
# state.checkpoints.dir: hdfs://namenode-host:port/flink-checkpoints
# savepoints 的默認目標目錄(可選)
# state.savepoints.dir: hdfs://namenode-host:port/flink-checkpoints
# 用於啓用/禁用增量 checkpoints 的標誌
# state.backend.incremental: false |
web 前端配置
1
2
3
4
5
6
7
8 |
# 基於 Web 的運行時監視器偵聽的地址.
#jobmanager.web.address: 0.0.0.0
# Web 的運行時監視器端口
rest.port: 8081
# 是否從基於 Web 的 jobmanager 啓用做業提交
# jobmanager.web.submit.enable: false |
高級配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 |
# io.tmp.dirs: /tmp
# 是否應在 TaskManager 啓動時預先分配 TaskManager 管理的內存
# taskmanager.memory.preallocate: false
# 類加載解析順序,是先檢查用戶代碼 jar(「child-first」)仍是應用程序類路徑(「parent-first」)。 默認設置指示首先從用戶代碼 jar 加載類
# classloader.resolve-order: child-first
# 用於網絡緩衝區的 JVM 內存的分數。 這決定了 TaskManager 能夠同時擁有多少流數據交換通道以及通道緩衝的程度。 若是做業被拒絕或者您收到系統沒有足夠緩衝區的警告,請增長此值或下面的最小/最大值。 另請注意,「taskmanager.network.memory.min」和「taskmanager.network.memory.max」可能會覆蓋此分數
# taskmanager.network.memory.fraction: 0.1
# taskmanager.network.memory.min: 67108864
# taskmanager.network.memory.max: 1073741824 |
Flink 集羣安全配置
1
2
3
4
5
6
7
8
9
10
11 |
# 指示是否從 Kerberos ticket 緩存中讀取
# security.kerberos.login.use-ticket-cache: true
# 包含用戶憑據的 Kerberos 密鑰表文件的絕對路徑
# security.kerberos.login.keytab: /path/to/kerberos/keytab
# 與 keytab 關聯的 Kerberos 主體名稱
# security.kerberos.login.principal: flink-user
# 以逗號分隔的登陸上下文列表,用於提供 Kerberos 憑據(例如,`Client,KafkaClient`使用憑證進行 ZooKeeper 身份驗證和 Kafka 身份驗證)
# security.kerberos.login.contexts: Client,KafkaClient |
Zookeeper 安全配置
1
2
3
4
5 |
# 覆蓋如下配置以提供自定義 ZK 服務名稱
# zookeeper.sasl.service-name: zookeeper
# 該配置必須匹配 "security.kerberos.login.contexts" 中的列表(含有一個)
# zookeeper.sasl.login-context-name: Client |
HistoryServer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
# 你能夠經過 bin/historyserver.sh (start|stop) 命令啓動和關閉 HistoryServer
# 將已完成的做業上傳到的目錄
# jobmanager.archive.fs.dir: hdfs:///completed-jobs/
# 基於 Web 的 HistoryServer 的地址
# historyserver.web.address: 0.0.0.0
# 基於 Web 的 HistoryServer 的端口號
# historyserver.web.port: 8082
# 以逗號分隔的目錄列表,用於監視已完成的做業
# historyserver.archive.fs.dir: hdfs:///completed-jobs/
# 刷新受監控目錄的時間間隔(以毫秒爲單位)
# historyserver.archive.fs.refresh-interval: 10000 |
查看下另外兩個配置 slaves / masternode
![](http://static.javashuo.com/static/loading.gif)
二、slaves
裏面是每一個 worker 節點的 IP/Hostname,每個 worker 結點以後都會運行一個 TaskManager,一個一行。web
三、masters
host:portsql
四、zoo.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
# 每一個 tick 的毫秒數
tickTime=2000
# 初始同步階段能夠採用的 tick 數
initLimit=10
# 在發送請求和獲取確認之間能夠傳遞的 tick 數
syncLimit=5
# 存儲快照的目錄
# dataDir=/tmp/zookeeper
# 客戶端將鏈接的端口
clientPort=2181
# ZooKeeper quorum peers
server.1=localhost:2888:3888
# server.2=host:peer-port:leader-port |
五、日誌配置
Flink 在不一樣平臺下運行的日誌文件apache
1
2
3
4
5
6
7 |
log4j-cli.properties
log4j-console.properties
log4j-yarn-session.properties
log4j.properties
logback-console.xml
logback-yarn.xml
logback.xml |
sql-client-defaults.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
execution:
# 'batch' or 'streaming' execution
type: streaming
# allow 'event-time' or only 'processing-time' in sources
time-characteristic: event-time
# interval in ms for emitting periodic watermarks
periodic-watermarks-interval: 200
# 'changelog' or 'table' presentation of results
result-mode: changelog
# parallelism of the program
parallelism: 1
# maximum parallelism
max-parallelism: 128
# minimum idle state retention in ms
min-idle-state-retention: 0
# maximum idle state retention in ms
max-idle-state-retention: 0
deployment:
# general cluster communication timeout in ms
response-timeout: 5000
# (optional) address from cluster to gateway
gateway-address: ""
# (optional) port from cluster to gateway
gateway-port: 0 |
Flink sql client :你能夠從官網這裏瞭解 https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/sqlClient.html緩存
總結
本文拿安裝目錄文件下的配置文件講解了下 Flink 目錄下的全部配置。安全
你也能夠經過官網這裏學習更多:https://ci.apache.org/projects/flink/flink-docs-stable/ops/config.html網絡