Nano Hash - криптовалюты, майнинг, программирование

Как настроить файл свойств Log4j в YARN

Я запускаю приложение поверх YARN в искровом кластере, но мне нужно указать собственный путь, по которому создаются файлы журнала, и изменить формат сообщения журнала. Для этого я хочу использовать свой настроенный файл Log4j.properties вместо файла log4j.properties по умолчанию, предоставленного YARN. Как это может быть сделано?


  • Добавьте свойство log4j.appender.file.File=/tmp/application.log в файл log4j и проверьте. 05.10.2016
  • Это не решит мою проблему, так как внесение изменений в файл log4j.properties по умолчанию также повлияет на файлы журналов других приложений, поскольку они будут ссылаться на файл .properties по умолчанию. Вместо этого я хочу использовать свой собственный настроенный файл .properties и использовать его в нескольких конкретных приложениях. Как это может быть сделано? 05.10.2016
  • Создайте свой собственный файл свойств log4j и добавьте файл свойств в путь к классу искры. 05.10.2016

Ответы:


1

Я использую этот сценарий spark-submit, чтобы отправить свой log4j.properties в Yarn, чтобы я мог контролировать шаблон ведения журнала. Мне особенно нужны были полные имена пакетов, чтобы я мог определить, какие мои классы ведут журналы, из полученных журналов приложений Yarn.

spark-submit \
    --class com.acme.Main \
    --master yarn \
    --deploy-mode cluster \
    --driver-memory 2g \
    --executor-memory 1g \
    --driver-class-path "./conf" \
    --files "./conf/app.properties,./conf/log4j.properties" \
    ./lib/my-app-uber.jar \
    "$@"

Лично я использую только ConsoleAppender, и все мои журналы приложений отображаются в стандартных журналах Yarn вместе со всем остальным. Вы не можете использовать RollingFileAppender с HDFS.

log4j.rootLogger=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - %-5p %c:%L -> %m%n

Вы должны увидеть свои результаты в

yarn logs -applicationId <your-app-id>
05.01.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..