|NO.Z.00041|——————————|BigDataEnd|——|Hadoop&Flink.V08|——|Flink.v08|Flink State|状态原理原理剖析|状态存储|配置state backend|

一、配置 state backend
### --- state backend

~~~     我们知道 flink 提供了三个 state backend,那么如何配置使用某个 state backend 呢?
~~~     默认的配置在 conf/flink-conf.yaml 文件中 state.backend 指定,如果没有配置该值,就会使用MemoryStateBackend。默认的 state backend 可以被代码中的配置覆盖。
二、Per-job 设置
### --- 我们可以通过 StreamExecutionEnvironment 设置:

StreamExecutionEnvironment env =
    StreamExecutionEnvironment.getExecutionEnvironment();

env.setStateBackend(new
                    FsStateBackend("hdfs://namenode:40010/flink/checkpoints"));
### --- 如果想使用 RocksDBStateBackend,你需要将相关依赖加入你的 flink 程序中:

<dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-statebackend-rocksdb_2.11</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
</dependency>
三、默认设置
### --- 默认设置

~~~     # 如果没有在程序中指定,
~~~     # flink 将使用 conf/flink-conf.yaml 文件中的 state.backend 指定的 state backend ,这个值有三种配置:
~~~     jobmanager (代表 MemoryStateBackend)
~~~     filesystem (代表 FsStateBackend)
~~~     rocksdb (代表 RocksDBStateBackend)
~~~     # state.checkpoints.dir 定义了 checkpoint 时,state backend 将快照数据备份的目录

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-04-13 15:12  yanqi_vip  阅读(11)  评论(0)    收藏  举报

导航