為每個應用程式使用不同的配置

如果你需要為各種應用程式設定不同的設定,則(從 Flink 1.2 開始)沒有簡單的方法可以做到這一點。

如果你使用 flink 的 one-yarn-cluster-per-job 模式(即使用:flink run -m yarn-cluster …啟動指令碼),這是一個解決方法:

  1. 在專案附近的某處建立一個 conf 目錄

  2. flink/conf 中的所有檔案建立符號連結:

     mkdir conf
     cd conf
     ln -s flink/conf/* .
    
  3. 用你自己的配置替換符號連結 log4j.properties(或你要更改的任何其他檔案)

  4. 在啟動你的工作之前,執行

     export FLINK_CONF_DIR=/path/to/my/conf
    

根據你的 flink 版本,你可能需要編輯檔案 flink/bin/config.sh。如果你在這條線上跑:

FLINK_CONF_DIR=$FLINK_ROOT_DIR_MANGLED/conf

改變它:

if [ -z "$FLINK_CONF_DIR" ]; then 
    FLINK_CONF_DIR=$FLINK_ROOT_DIR_MANGLED/conf; 
fi