Мне нужно запустить Flink Job на пряжу, и работа должна подключиться к hbaseПоэтому я настраиваю настройки kerberos в flink-conf.yml;настройки, как показано ниже:
security.kerberos.login.contexts: Client
security.kerberos.login.keytab: /home/krb5.keytab
security.kerberos.login.principal: krb5
После запуска сеанса Flink Yarn каталог keytab управления заданиями изменится на файл кэша первого контейнера, как показано ниже:
security.kerberos.login.keytab: /yarn/nm/usercache/application_id/container_15889823432_0001/krb5.keytab
Также,файл keytab (krb5.keytab) и файл конфигурации (taskmanage-conf.yml) будут загружены в hdfs;В этом конфигурационном файле файл keytab dir используется для управления заданиями.
Как только этот контейнер прекратит работу, будет загружен новый контейнер (например, container_15889823432_0002).
Новый контейнерскопирует файл конфигурации и файл keytab из hdfs.Но файл keytab dir в файле конфигурации по-прежнему указывает на файл кэша первого контейнера (container_158898234324_0001) Первый контейнер был мертв, и его файл кэша будет удален через несколько дней, а затем будет выдан файл аутентификации kertab.
Очевидно, что второй контейнер (container_158898234324_0001) скопирует файл keytab из hdfs, почему его конфигурационный файл не указывает каталог keytab непосредственно на файл кэша?