2016-09-16 7 views
2

Я выполняю работу с искровым потоком в hadoop. Машина подверглась чеканке, и она прекратилась в течение 42 часов и завершилась неудачей из-за истечения срока действия токена HDFS.Идентификатор делегирования HDFS истекает даже после добавления принципа в командную строку

У меня даже установлен crontab для команды kinit, которая работает каждые 8 ​​часов, и у меня есть токен Max-renew lifetime в течение 10 часов.

Failed due to error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (HDFS_DELEGATION_TOKEN token

Я также выполняю работу с принципом в командной строке при ее запуске.

ответ

3

Проблема решена ...! Добавил следующую конфигурацию, чтобы исправить командную строку при запуске задания, и это сработало.

--conf spark.hadoop.fs.hdfs.impl.disable.cache=true

или вы можете изменить это на уровне конфигурации пряжи, чтобы воздействовать глобально.

Я протестировал его в течение 3 дней.

Благодаря

+0

также попытался добавить «--conf mapreduce.job.complete.cancel.delegation.tokens = ложь», это помогло мне выполнить задание более чем на неделю, и это решаемые ..! – Mahadevan

+0

Я добавляю «--conf spark.hadoop.fs.hdfs.impl.disable.cache = true» и «--conf mapreduce.job.complete.cancel.delegation.tokens = false», когда я отправляю работу по искрообразованию, но это не работает. – leocook