Добрый день,
Я выполняю потоковое задание Flink (v1.7.1) в AWS EMR 5.20, и мне хотелось бы, чтобы все журналы задач и менеджеров заданий на моем задании в S3.Logback используется в соответствии с рекомендациями команды Flink.Поскольку это длительное задание, я хочу, чтобы журналы были:
- Периодически копироваться на S3
- Свертывание по времени, по размеру или по обоим причинам (так как может быть огромныйколичество журналов)
- Очиститься от внутреннего диска узлов EMR (в противном случае диски будут заполнены)
То, что я пробовал:
- Включено ведение журнала на S3 при создании кластера EMR
- Сконфигурированные журналы прокатки пряжи с: yarn.log-aggregation-enable, yarn.nodemanager.remote-app-log-dir, yarn.log-aggregation.retain-seconds, yarn.nodemanager.log-aggregation.roll-мониторинг-interval-секунд
- Настроенные скользящие журналы в logback.xml:
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.file}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>%d{yyyy-MM-dd HH}.%i.log</fileNamePattern>
<maxFileSize>30MB</maxFileSize>
<maxHistory>3</maxHistory>
<totalSizeCap>50MB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{60} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>
То, что я получил / наблюдал до сих пор:
- (1) действительно помогало с периодическим копированием файла журнала на S3
- (2) мне показалось бесполезнымдо сих пор.Журналы агрегируются только тогда, когда задание потоковой передачи завершено, и теперь наблюдается циклическое изменение.
- (3) дало некоторый результат, но пока не близко к требованиям:
- скользящие журналы находятся в некотором кешепапка ( / mnt / yarn / usercache / hadoop / appcache / application_1549236419773_0002 / container_1549236419773_0002_01_000002 )
- в обычной папке журналов YARN доступен только последний файл скользящих журналов ( / mnt)var / log / hadoop-yarn / Containers / application_1549236419773_0002 / container_1549236419773_0002_01_000002 )
- только последний файл скользящих журналов доступен в S3
КорочеИз 3 требований, которые я получил, я мог только (1) или (2 & 3).
Не могли бы вы помочь мне с этим?
Спасибо и наилучшими пожеланиями,
Averell