Search code examples
javaconfigurationapache-flinkflink-streaming

Where does the flink-conf.yaml go?


The documentation on the flink website as well as AWS's Flink deployment says that my configuration goes in the flink-conf.yaml file but where should I store this file in my project and how do I get flink to pick it up?

In particular I want to enable checkpointing, how do I do that when my project tree is as follows:

.
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── xyz
    │   │       └── foobar
    │   │           └── foo
    │   │               └── Main.java
    │   └── resources
    └── test
        ├── java
        │   └── xyz
        │       └── foobar
        │           └── foo
        │               └── TestFoo.java
        └── resources
            └── placeholder


Solution

  • The flink-conf.yaml file lives in your Flink cluster, in the conf directory. It needs to be present in each job manager and task manager machine/container.

    If you are using the official Docker images, this file goes into the /opt/flink/conf directory in the Flink image, as described here in the documentation. For configuring a standalone Kubernetes cluster, see Flink on Standalone Kubernetes Reference.