当前位置: 移动技术网 > IT编程>开发语言>Java > Flink 从 0 到 1 学习 —— Flink 配置文件详解

Flink 从 0 到 1 学习 —— Flink 配置文件详解

2019年09月21日  | 移动技术网IT编程  | 我要评论

前面文章我们已经知道 flink 是什么东西了,安装好 flink 后,我们再来看下安装路径下的配置文件吧。

安装目录下主要有 flink-conf.yaml 配置、日志的配置文件、zk 配置、flink sql client 配置。

基础配置

# 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 前端配置

# 基于 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

zookeeper 安全配置

# 覆盖以下配置以提供自定义 zk 服务名称
# zookeeper.sasl.service-name: zookeeper

# 该配置必须匹配 "security.kerberos.login.contexts" 中的列表(含有一个)
# zookeeper.sasl.login-context-name: client

historyserver

# 你可以通过 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 / master

2、slaves

里面是每个 worker 节点的 ip/hostname,每一个 worker 结点之后都会运行一个 taskmanager,一个一行。

localhost

3、masters

host:port

localhost:8081

4、zoo.cfg

# 每个 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

5、日志配置

flink 在不同平台下运行的日志文件

log4j-cli.properties
log4j-console.properties
log4j-yarn-session.properties
log4j.properties
logback-console.xml
logback-yarn.xml
logback.xml

sql-client-defaults.yaml

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 目录下的所有配置。

你也可以通过官网这里学习更多:

关注我

本篇文章地址是:

微信公众号:zhisheng

另外我自己整理了些 flink 的学习资料,目前已经全部放到微信公众号(zhisheng)了,你可以回复关键字:flink 即可无条件获取到。另外也可以加我微信 你可以加我的微信:yuanblog_tzs,探讨技术!

更多私密资料请加入知识星球!

github 代码仓库

以后这个项目的所有代码都将放在这个仓库里,包含了自己学习 flink 的一些 demo 和博客

博客

1、

2、

3、

4、

5、

6、

7、

8、

9、

10、

11、

12、

13、

14、

15、

16、

17、

18、flink 从0到1学习 —— flink 读取 kafka 数据写入到 hbase

19、flink 从0到1学习 —— flink 读取 kafka 数据写入到 hdfs

20、flink 从0到1学习 —— flink 读取 kafka 数据写入到 redis

21、flink 从0到1学习 —— flink 读取 kafka 数据写入到 cassandra

22、flink 从0到1学习 —— flink 读取 kafka 数据写入到 flume

23、flink 从0到1学习 —— flink 读取 kafka 数据写入到 influxdb

24、flink 从0到1学习 —— flink 读取 kafka 数据写入到 rocketmq

25、

26、flink 从0到1学习 —— 你的 flink job 日志跑到哪里去了

27、

28、

29、

30、

31、

32、

33、

34、

35、

36、

37、

38、

39、

40、

41、flink 灵魂两百问,这谁顶得住?

42、

43、

44、

源码解析

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、

26、

26、

27、

28、大数据重磅炸弹——实时计算框架 flink

29、flink checkpoint-轻量级分布式快照

30、
原文出处:,欢迎关注我的公众号:zhisheng

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网