Журналы Data Pipeline S3 не записываются (записываются только при использовании Amazon Linux)

С одинаковой точной конфигурацией конвейера данных, отличающейся только используемым AMI (Amazon Linux и Ubuntu), выполнение моего конвейера данных будет успешным в обоих случаях, но он будет записывать журналы в S3 только при использовании Амазон Линукс.

С Amazon Linux

введите здесь описание изображения

С Ubuntu

введите здесь описание изображения

В обоих случаях я вхожу в систему с одним и тем же пользователем (ec2-user, а не ubuntu), для которого я правильно настроил это имя пользователя для Ubuntu AMI:

#cloud-config
system_info:
  default_user:
    name: ec2-user

Более того, я использую одни и те же атрибуты resourceRole и role при запуске пайплайнов Amazon Linux или Ubuntu. Так что это не проблема.

Итак, судя по всему, в Amazon Linux есть что-то необходимое для записи журналов S3, что это может быть?


person deprecated    schedule 17.11.2015    source источник


Ответы (1)


Это связано с тем, что TaskRunner использует библиотеку Java под названием Joda для создания временных меток для ведения журнала. Некоторые версии JRE поставляются с версией jar-файла Joda с ошибками, поэтому любой AMI, использующий эту версию (по моему опыту, выше 6), не сможет правильно записывать журналы.

Я бы рекомендовал включить что-то вроде alternatives --set java /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java перед всеми вашими сценариями в ShellCommandActivity - это решило проблему для меня.

В качестве альтернативы вы всегда можете просто использовать идентификатор экземпляра AMI, который, как известно, содержит Java 6.

person shrikant    schedule 20.11.2015
comment
Вау, я бы никогда не подумал, что это может быть проблемой! :) Я использую Oracle JRE 8u65-b17, которая является последней. Известно ли, что эта версия имеет эту ошибку? Должен ли я попробовать Java 7 вместо 8? - person deprecated; 20.11.2015
comment
Если вы используете что-либо помимо 8u65, вам следует убедиться, что ваша версия Joda обновлена ​​до чего-то более нового, чем 2.8. Вы также можете перейти на что-нибудь ниже 8u45, так что это предположительно включает Java 7, хотя я действительно тестировал только переход на Java 6. См. это для большей детализации. - person shrikant; 20.11.2015
comment
Использование Oracle 7u80-b15 помогло. Огромное спасибо! - person deprecated; 20.11.2015
comment
Этот ответ все еще актуален? У экземпляра ec2 все еще есть java 6? Я не могу получить журналы для экземпляра t2.micro. - person Joy Chopra; 24.12.2019