Я запускаю Spark на кластере из пряжи и имеет log4j.properties, настроенный таким образом, что все журналы по умолчанию переходят в файл журнала. Однако для некоторых искровых заданий я хочу, чтобы журналы запускались на консоль без изменения файла log4j и кода фактического задания. Каков наилучший способ достичь этого? Спасибо всем.Переопределить конфигурации Spark log4j
ответ
За документации: upload a custom log4j.properties using spark-submit, by adding it to the --files list of files to be uploaded with the application.
Я просто попытался с log4j.properties
файл на пряжу кластера, и она работает просто отлично.
spark-submit --class com.foo.Bar \
--master yarn-cluster \
--files path_to_my_log4j.properties \
my.jar
Я знаю, что для решения этой проблемы существует не менее 4 решений.
Вы можете изменить ваши log4j.properties в искру машины
При выполнении задания на искру лучше прикрепить файл log4j как файл конфигурации представляет искру пример
бен/spark-submit --class com.viaplay.log4jtest.log4jtest --conf "spark.driver.extraJavaOptions = -Dlog4j.configuration = файл: /Users/feng/SparkLog4j/SparkLog4jTest/target/log4j2.properties" --master local [ *] /Users/feng/SparkLog4j/SparkLog4jTest/target/SparkLog4jTest-1.0-jar-with-dependencies.jar
Попробуйте импортировать log4j в свой логический код.
import org.apache.log4j.Logger; import org.apache.log4j.Level;
положить этот регистратор в свою функцию SparkContext() Logger.getLogger («org»). SetLevel (Level.INFO); Logger.getLogger («akka»). SetLevel (Level.INFO);
использование Спарк spark.sql.SparkSession
импорт org.apache.spark.sql.SparkSession; искра = SparkSession.builder.getOrCreate() spark.sparkContext.setLogLevel («ERROR»)
- 1. Spark forcing log4j
- 2. Преобразование log4j 1.2 конфигурации в log4j 2 конфигурации
- 3. ошибка конфигурации log4j-NoSQL
- 4. Свойства конфигурации Log4j
- 5. log4j 2 конфигурации Выпуск
- 6. log4j вопрос свойство конфигурации
- 7. log4j ошибка уровня конфигурации
- 8. log4j ошибка конфигурации
- 9. log4j конфигурации UTC DateTime
- 10. О конфигурации log4j 2.0
- 11. log4j конфигурации отладки сообщения
- 12. несколько вопросов конфигурации log4j
- 13. вопросы конфигурации Log4j - log4j: WARN Пожалуйста, инициализировать систему log4j правильно
- 14. Конфигурация log4j для Apache Spark для приложения
- 15. Переопределить файлы конфигурации пакета
- 16. Как переопределить свойство конфигурации?
- 17. log4j: какой файл конфигурации использовался?
- 18. Файл конфигурации Log4J игнорируется IntelliJ
- 19. среды конкретной конфигурации log4j весной
- 20. Способы настройки конфигурации XML Log4j
- 21. Различные конфигурации log4j для сонара
- 22. log4j ошибка определения файла конфигурации
- 23. ошибки вверх конфигурации log4j файла
- 24. Как избавиться от сообщения «Использовать профиль журнала log4j по умолчанию Spark: org/apache/spark/log4j-defaults.properties»?
- 25. Как переопределить свойства log4j по умолчанию в hadoop
- 26. Исходная интеграция log4j Spark для приложения Scala
- 27. Функциональность Log4J-Kafka в Apache Spark/scala
- 28. Yii2 переопределить вложенные параметры конфигурации
- 29. PHP - переопределить выход, множественные конфигурации
- 30. ссылаясь на файл конфигурации log4j из файла конфигурации log4j на пути к пути
Так что я немного запутался, ваша цель, чтобы сделать это для общих рабочих мест или просто рабочие места, которые вы пишете сам? Если у вас есть собственные задания, вы не хотите изменять какие-либо из этих файлов? И какой тип кластера вы используете (пряжа, мезо, автономный)? – Holden
Hi Holden. Извините за путаницу. Я запускаю Spark в кластере из пряжи с кучей других людей. Поскольку log4j является глобальным, я не хочу его изменять. Некоторые из заданий не являются моими, поэтому я не хочу менять исходный код. – neutralino
А это делает его немного сложнее, спасибо за разъяснение. – Holden