《從0到1學習Flink》—— Flink 配置文件詳解

前面文章咱們已經知道 Flink 是什麼東西了,安裝好 Flink 後,咱們再來看下安裝路徑下的配置文件吧。html

安裝目錄下主要有 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

二、slaves

裏面是每一個 worker 節點的 IP/Hostname,每個 worker 結點以後都會運行一個 TaskManager,一個一行。web

1
localhost

三、masters

host:portsql

1
localhost:8081

四、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網絡

相關文章
相關標籤/搜索