Flink 1.12.2 主要配置文件详解

Flink 1.12.2 主要配置文件详解

本地启动集群的测试

  1. 下载Flink1.12.2, 并解压
  2. 配置好JAVA_HOME的机器上,到路径~/flink/bin
  3. 本地启动:start-cluster.sh, 默认加载 ~/flink/conf/flink/flink-conf.yaml
  4. 停止: stop-cluster.sh

flink-conf.yaml详解

# Jobmanager的地址,taskmanager必须要识别并能连上。
# 只有standalone的集群模式起作用,当执行bin/jobmanager.sh --host<hostname>的时候将被覆盖
# 在YARN或者Mesos的集群模式下将自动替换为jobmanager所在节点的hostname.
jobmanager.rpc.address: localhost

# jobmanager的RPC端口,和taskmanger通信端口
jobmanager.rpc.port: 6123

# JobManager能够使用的内存的最大值,包括Java虚拟机的metaspace和其他的开销;
jobmanager.memory.process.size: 1600m

# taskmanager 能够使用的最大内存大小,包括Java虚拟机的metaspace和其他的开销;
taskmanager.memory.process.size: 1728m

# 如果设置taskmanager内存使用不包含虚拟机的metaspace和其他的开销,就需要设置这个参数。不过官方不推荐和taskmanager.memory.process.size同时使用。
# taskmanager.memory.flink.size: 1280m

# 每个TaskManager提供的slot数量,每个slot上能运行一个并行的pipeline任务。
taskmanager.numberOfTaskSlots: 1

# 没有指定并行度的情况下,默认的全局并行度
parallelism.default: 1

# 默认的文件系统的数据结构和授权
# 如果是本地文件,那么格式为: 'file:///'
# 如果是HDFS文件,那么格式为:'hdfs://namenode_name:9870'
# fs.default-scheme

#==============================================================================
# 高可用模型的配置
#==============================================================================

# 高可用模型的选择有:'NONE' 或者 'zookeeper'
# high-availability: zookeeper

# 下面这个参数是指定master恢复所需要的元数据存储的路径。这个路径需要存储像持久化数据流图一样的大对象
# 改参数的指必须是所有节点可持久可访问的路径(e.g. HDFS, S3, Ceph, nfs, ...)
# high-availability.storageDir: hdfs:///flink/ha/

# ZooKeeper集群的地址,用于协调高可用模型的建立,而且必须是列表值(e.g. host1:clientPort,host2:clientPort,...)
# 默认的端口客户端端口是 2181
# high-availability.zookeeper.quorum: localhost:2181

# 如果zookeeper安全策略开启,那么下面这个值就应该是creator,默认是oepn
# high-availability.zookeeper.client.acl: open

#==============================================================================
# 容错和检查点配置
#==============================================================================

# Flink后端会默认存储算子的转态,当checkpointing是开启转态的时候。
# Flink支持的后端存储有 'jobmanager', 'filesystem', 'rocksdb', 或者自定的类<class-name-of-factory>.
# state.backend: filesystem

# checkpoints存储的地址
# state.checkpoints.dir: hdfs://namenode-host:port/flink-checkpoints

# 默认savepoints存储的地址(可选)
# state.savepoints.dir: hdfs://namenode-host:port/flink-savepoints

# 是否开启增量存储(类似RocksDB存储转态的情况)
# state.backend.incremental: false

# 故障恢复的策略,怎么样从失败的任务重恢复计算。配置可选: full 或者 region
# full: 表示集群中的任务发生故障的时候,所有的task重新启动
# region: 表示集群中的任务发生故障的时候,仅重启被失败失败任务所影响的下游的任务和产生数据的上游任务。
jobmanager.execution.failover-strategy: region

#==============================================================================
# REST和前端设置
#==============================================================================

# REST 的端口配置,默认8081
#rest.port: 8081

# Web Server的地址配置,用于REST api调用
#rest.address: 0.0.0.0

# 配置REST端口绑定的范围
#rest.bind-port: 8080-8090

# 配置Server地址并绑定server
#rest.bind-address: 0.0.0.0

# 配置任务提交是否在网页端开启;默认是开启的
#web.submit.enable: false

#==============================================================================
# 高级配置
#==============================================================================

# 如果指定下面这个参数配置的话,将会覆盖java.io.tmpdir property的配置。
# 如果Flink集群是跑在YARN上,或者Mesos上的话,改参数将不需要配置,调度框架会自动配置。
# 注意:推荐是添加多个文件夹地址(unix系统使用冒号隔开,windows使用逗号隔开),多个文件夹地址可以是相同的,
# 多文件地址的配置致使Flink创建多个线程来出来,提高读写效率和吞度量。
# io.tmp.dirs: /tmp

# 类加载顺序的设定,Flink默认是'child-first',还可以选:'parent-first'
# 'child-first'这种加载机制允许用户在自己的应用中使用不同的依赖或者JAR包的版本。
# classloader.resolve-order: child-first

# 网络堆栈能使用的内存总量的配置。这些配置一般不需要调优。
# 当你遇到"Insufficient number of network buffers" 错误的时候就需要调整下面的参数了。
# 默认最小是64MB, 最大值是 1GB
# taskmanager.memory.network.fraction: 0.1
# taskmanager.memory.network.min: 64mb
# taskmanager.memory.network.max: 1gb

#==============================================================================
# Flink集群安全配置
#==============================================================================

# Kerberos认证,主要用在Hadoop,Zookeeper, connectors上的安全组件
# 通常开启的步骤为:
# 1. 配置本地的krb5.conf文件
# 2. 提供Kerberos的凭证(可以是一个keytab或者一个ticket cache)
# 3. 针对不同的JAAS的登录上下文,激活Kerberos的凭证
# 4. 使用JAAS/SASL配置连接

# 下面这些个配置是说明Kerberos怎么提供安全凭证的。
# 当用户提供了keytab path 和 principal,keytab将用于代贴ticket cache 
# security.kerberos.login.use-ticket-cache: true
# security.kerberos.login.keytab: /path/to/kerberos/keytab
# security.kerberos.login.principal: flink-user

# 下面这个配置是定义了kerberos JAAS的登录上下文
# security.kerberos.login.contexts: Client,KafkaClient

#==============================================================================
# Zookeeper 安全配置
#==============================================================================

# 当zookeeper开启了安全模式,下面的配置就是必要的。

# 如果zookeeper配置了服务名称,就需要修改下面这个配置
# zookeeper.sasl.service-name: zookeeper

# 下面这个配置必须是"security.kerberos.login.contexts"的其中给一个值
# zookeeper.sasl.login-context-name: Client

#==============================================================================
# 历史任务服务器配置
#==============================================================================

# HistoryServer 通过bin/historyserver.sh (start|stop)开启和关闭

# 这个配置是用于上传执行完成的job。也是HistoryServer监控的目录。
#jobmanager.archive.fs.dir: hdfs:///completed-jobs/

# HistoryServer的服务地址
#historyserver.web.address: 0.0.0.0

# HistoryServer的服务端口
#historyserver.web.port: 8082

# 指定监控已完成的job所在的地址
#historyserver.archive.fs.dir: hdfs:///completed-jobs/

# 刷新监控的时间间隔
#historyserver.archive.fs.refresh-interval: 10000

下节预告:使用gradle构建最小化的Flink Jar包

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink 动态读取配置文件指的是Flink在运行过程中可以通过某种方式动态的读取配置文件的信息,从而更新应用程序的配置,达到动态修改Flink应用行为的目的。Flink动态读取配置文件的实现方式主要包括两种方法,一种是通过自定义的source读取外部配置文件,另一种是通过Flink的Dynamic Properties参数进行配置。 首先,通过自定义的source读取外部配置文件,可以使Flink应用程序在运行时从外部文件中读取配置信息,通过定期读取或监听外部文件变化的方式,动态的更新应用配置。自定义source可以继承 Flink 的 SourceFunction 接口,实现一个可以每隔一段时间读取一次外部文件的类,然后通过`env.addSource(new CustomSource())`方式添加到 Flink 应用中,实现Flink动态修改配置的目的。 其次,Flink的 Dynamic Properties 功能也可以实现动态配置,此功能允许用户可以在运行时通过界面(如Flink WebUI)或API等方式调整Flink应用的配置属性。采用此方法可以避免频繁读取配置文件而带来的性能损耗,同时在修改配置属性时,Flink应用能够自动感知并应用新的配置,大大提高了应用程序的灵活性和可维护性。 总之,Flink动态读取配置文件可以使应用程序可以在运行时进行灵活的调整和优化,提高应用程序的可维护性和扩展性。因此,在Flink应用程序开发中,灵活运用动态读取配置文件的功能可以成为解决问题、迭代优化的好工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值