前面文章咱們已經知道 Flink 是什麼東西了,安裝好 Flink 後,咱們再來看下安裝路徑下的配置文件吧。html
<!--more-->前端
安裝目錄下主要有 flink-conf.yaml 配置、日誌的配置文件、zk 配置、Flink SQL Client 配置。node
# 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
# 能夠選擇 '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
# 用於存儲和檢查點狀態 # 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 的運行時監視器偵聽的地址. #jobmanager.web.address: 0.0.0.0 # Web 的運行時監視器端口 rest.port: 8081 # 是否從基於 Web 的 jobmanager 啓用做業提交 # jobmanager.web.submit.enable: false
# 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
# 指示是否從 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
# 覆蓋如下配置以提供自定義 ZK 服務名稱 # zookeeper.sasl.service-name: zookeeper # 該配置必須匹配 "security.kerberos.login.contexts" 中的列表(含有一個) # zookeeper.sasl.login-context-name: Client
# 你能夠經過 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 / mastergit
裏面是每一個 worker 節點的 IP/Hostname,每個 worker 結點以後都會運行一個 TaskManager,一個一行。github
localhost
host:portweb
localhost:8081
# 每一個 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 在不一樣平臺下運行的日誌文件sql
log4j-cli.properties log4j-console.properties log4j-yarn-session.properties log4j.properties logback-console.xml logback-yarn.xml logback.xml
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/project...apache
本文拿安裝目錄文件下的配置文件講解了下 Flink 目錄下的全部配置。segmentfault
你也能夠經過官網這裏學習更多:https://ci.apache.org/project...緩存
本篇文章地址是:http://www.54tianzhisheng.cn/2018/10/27/flink-config/
微信公衆號:zhisheng
另外我本身整理了些 Flink 的學習資料,目前已經所有放到微信公衆號(zhisheng)了,你能夠回覆關鍵字:Flink 便可無條件獲取到。另外也能夠加我微信 你能夠加個人微信:yuanblog_tzs,探討技術!
更多私密資料請加入知識星球!
https://github.com/zhisheng17/flink-learning/
之後這個項目的全部代碼都將放在這個倉庫裏,包含了本身學習 flink 的一些 demo 和博客
一、Flink 從0到1學習 —— Apache Flink 介紹
二、Flink 從0到1學習 —— Mac 上搭建 Flink 1.6.0 環境並構建運行簡單程序入門
三、Flink 從0到1學習 —— Flink 配置文件詳解
四、Flink 從0到1學習 —— Data Source 介紹
五、Flink 從0到1學習 —— 如何自定義 Data Source ?
六、Flink 從0到1學習 —— Data Sink 介紹
七、Flink 從0到1學習 —— 如何自定義 Data Sink ?
八、Flink 從0到1學習 —— Flink Data transformation(轉換)
九、Flink 從0到1學習 —— 介紹 Flink 中的 Stream Windows
十、Flink 從0到1學習 —— Flink 中的幾種 Time 詳解
十一、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 ElasticSearch
十二、Flink 從0到1學習 —— Flink 項目如何運行?
1三、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Kafka
1四、Flink 從0到1學習 —— Flink JobManager 高可用性配置
1五、Flink 從0到1學習 —— Flink parallelism 和 Slot 介紹
1六、Flink 從0到1學習 —— Flink 讀取 Kafka 數據批量寫入到 MySQL
1七、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 RabbitMQ
1八、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 HBase
1九、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 HDFS
20、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Redis
2一、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Cassandra
2二、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Flume
2三、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 InfluxDB
2四、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 RocketMQ
2五、Flink 從0到1學習 —— 你上傳的 jar 包藏到哪裏去了
2六、Flink 從0到1學習 —— 你的 Flink job 日誌跑到哪裏去了
2八、Flink 從0到1學習 —— Flink 中如何管理配置?
2九、Flink 從0到1學習—— Flink 不能夠連續 Split(分流)?
30、Flink 從0到1學習—— 分享四本 Flink 國外的書和二十多篇 Paper 論文
3二、爲何說流處理即將來?
3三、OPPO 數據中臺之基石:基於 Flink SQL 構建實時數據倉庫
3六、Apache Flink 結合 Kafka 構建端到端的 Exactly-Once 處理
3八、如何基於Flink+TensorFlow打造實時智能異常檢測平臺?只看這一篇就夠了
40、Flink 全網最全資源(視頻、博客、PPT、入門、實戰、源碼解析、問答等持續更新)
4二、Flink 從0到1學習 —— 如何使用 Side Output 來分流?
四、Flink 源碼解析 —— standalone session 模式啓動流程
五、Flink 源碼解析 —— Standalone Session Cluster 啓動流程深度分析之 Job Manager 啓動
六、Flink 源碼解析 —— Standalone Session Cluster 啓動流程深度分析之 Task Manager 啓動
七、Flink 源碼解析 —— 分析 Batch WordCount 程序的執行過程
八、Flink 源碼解析 —— 分析 Streaming WordCount 程序的執行過程
九、Flink 源碼解析 —— 如何獲取 JobGraph?
十、Flink 源碼解析 —— 如何獲取 StreamGraph?
十一、Flink 源碼解析 —— Flink JobManager 有什麼做用?
十二、Flink 源碼解析 —— Flink TaskManager 有什麼做用?
1三、Flink 源碼解析 —— JobManager 處理 SubmitJob 的過程
1四、Flink 源碼解析 —— TaskManager 處理 SubmitJob 的過程
1五、Flink 源碼解析 —— 深度解析 Flink Checkpoint 機制
1六、Flink 源碼解析 —— 深度解析 Flink 序列化機制
1七、Flink 源碼解析 —— 深度解析 Flink 是如何管理好內存的?
1八、Flink Metrics 源碼解析 —— Flink-metrics-core
1九、Flink Metrics 源碼解析 —— Flink-metrics-datadog
20、Flink Metrics 源碼解析 —— Flink-metrics-dropwizard
2一、Flink Metrics 源碼解析 —— Flink-metrics-graphite
2二、Flink Metrics 源碼解析 —— Flink-metrics-influxdb
2三、Flink Metrics 源碼解析 —— Flink-metrics-jmx
2四、Flink Metrics 源碼解析 —— Flink-metrics-slf4j
2五、Flink Metrics 源碼解析 —— Flink-metrics-statsd
2六、Flink Metrics 源碼解析 —— Flink-metrics-prometheus
2七、Flink 源碼解析 —— 如何獲取 ExecutionGraph ?
30、Flink Clients 源碼解析
原文出處:zhisheng的博客,歡迎關注個人公衆號:zhisheng