Обновление здесь решения, которое решило мою проблему в интересах других. Решением было просто предоставить --principal и --keytab в качестве другого скопированного файла, чтобы не было конфликтов.
Почему задание может изменить статус с ВЫПОЛНЯЯ на ПРИНЯТО?
Приложение изменило статус из-за того, что билет Kerberos недействителен. Это может произойти в любое время после истечения срока аренды, но не может произойти в любое детерминированное время после истечения срока аренды.
Проблема возникает из-за того, что я не могу передать keytab?
Это действительно было из-за keytab. Для этого есть простое решение. Простой способ думать об этом - всякий раз, когда требуется доступ к HDFS, вам необходимо передать keytab и главное, если у вас есть потоковое задание. Просто скопируйте ваш файл keytab и передайте его с помощью: --keytab "my-copy-yarn.keytab" --principal "user @ domain". Все остальные соображения такие же, как у файла jaas и т. Д., Так что вам все равно нужно применить их , Так что это не мешает этому.
Когда задание снова пытается перейти в состояние RUNNING, YARN отклоняет его, поскольку у него нет действительного билета KRB. Поможет ли нам убедиться, что у узла драйвера всегда есть действующий билет KRB?
По сути, это происходит потому, что YARN пытается обновить билет внутри страны. В действительности не имеет значения, имеет ли узел, с которого было запущено приложение, действительный билет во время запуска новой попытки. У YARN должна быть достаточная информация, чтобы обновить тикет, и когда приложение было запущено, у него должен быть действительный тикет (вторая часть всегда будет верна, так как без этого задания даже не начнется, но вам нужно позаботиться о первой части)