flink on yarn的狀況下配置的keytab文件會根據每次yarn application 分配taskmanager的變化都是不同的,在部分場景下用戶代碼也須要得到keytab文件在yarn上的本地路徑,能夠經過如下方式拿到文件地址。app
final Map<String, String> ENV = System.getenv(); final String currDir = ENV.get("PWD"); log.info("Current working/local Directory: {}", currDir); String keytabPath = null; File f = new File(currDir, "krb5.keytab"); keytabPath = f.getAbsolutePath(); log.info("local keytab path: {}", keytabPath); final String remoteKeytabPrincipal = ENV.get("_KEYTAB_PRINCIPAL"); log.info("TM: remote keytab principal obtained {}", remoteKeytabPrincipal);