Я пытаюсь изменить уровень входа в консоль StdErr в Spark 2.2 под Mesos и использую Scala, sbt и spark-submit в режиме кластера.
Фон
Недавно наш кластер Spark / Mesos был переустановлен с новой версией spark 2.2.0 по сравнению с предыдущей 2.0.1.Весь мой код работает, кроме регистрации.Похоже, что файл src / main / resources / log4j.properties, который устанавливает уровень журналов, не запускается при запуске.Он работал со Spark 2.0.1.
Я добавил эту опцию в скрипт spark-submit, чтобы проверить, что делает log4j
--conf "spark.driver.extraJavaOptions=-Dlog4j.debug"
Это то, что я получаю для Spark 2.2
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@50134894.
log4j: Trying to find [log4j.xml] using sun.misc.Launcher$AppClassLoader@50134894 class loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader sun.misc.Launcher$AppClassLoader@50134894.
log4j: Using URL [file:/usr/local/spark/conf/log4j.properties] for automatic log4j configuration.
log4j: Reading configuration from URL file:/usr/local/spark/conf/log4j.properties
Это то, что я получаю для старой версии с Spark 2.0.1
log4j: Trying to find [log4j.xml] using context classloader org.apache.spark.util.MutableURLClassLoader@10b48321.
log4j: Trying to find [log4j.xml] using sun.misc.Launcher$AppClassLoader@61e717c2 class loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader org.apache.spark.util.MutableURLClassLoader@10b48321.
log4j: Using URL [jar:file:/var/lib/mesos/...path.../myProject-assembly-0.1.0-SNAPSHOT.jar!/log4j.properties] for automatic log4j configuration.
log4j: Reading configuration from URL jar:file:/var/lib/mesos/...path.../myProject-assembly-0.1.0-SNAPSHOT.jar!/log4j.properties
Вопросы
- Каковы некоторые настройки кластера Spark илипроблемы, связанные с версией, которые делают мою папку ресурсов невидимой?Почему он больше не находится на пути к классам в Spark 2.2, а загрузчик классов получает файл настроек по умолчанию?
- Как еще можно изменить уровень журнала?
Обновление: вот примерИспользуемая мной команда spark-submit:
spark-submit \
--class myScript \
--master mesos://masterIP:7077 \
--total-executor-cores 30 \
--driver-memory 30g \
--deploy-mode cluster \
--name myScript \
--conf "spark.driver.extraJavaOptions=-Dlog4j.debug" \
--verbose \
http://192.168.75.41/~xxx/myProject-assembly-0.1.0-SNAPSHOT.jar