kinessis не может отправить данные в красное смещение: Redshift.ConnectionFailed - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок ie в aws. есть неделя, когда я пытаюсь передать данные из Nifi в Redshift в качестве теста, чтобы узнать, как это работает. Что я делаю, так это генерирую простую запись «aa, 12,2020» с помощью Nifi, посылаю ее в пожарный шланг kinesis, а kinesis отправляет ее в корзину s3, а затем оттуда в таблицу в кластере redshift. У меня есть эта ошибка все время

Redshift.ConnectionFailed

Я пробовал без nifi с тестовыми данными из kinesis, но результат тот же. То, что я сделал до сих пор, чтобы решить проблему, это то, что написано в этой ссылке: AWS Kinesis Firehose не вставляет данные в Redshift , это немного более подробно по сравнению с aws справкой. в этом списке все выглядит нормально, пока

На этом этапе вы должны увидеть попытки подключения в журналах Redshift: `select * from stl_connection_log, где remotehost, как '52% ' к recordtime desc;

в моей базе данных красного смещения есть какая-либо запись.

сколько я рыжий, все говорят, что речь идет о безопасности и бросках. Я думаю, что я что-то упустил, и я не могу найти это. Мне пришлось 3 раза удалить весь процесс и сделать это снова, но не помогло. Вот мои настройки для тестирования с kinesistestdata: Kinesisfirehose:

S3 Bucket: содержимое файла данных в корзине:

{"ticker_symbol":"AAPL","sector":"TECHNOLOGY","change":0.26,"price":90.78}{"ticker_symbol":"WMT","sector":"RETAIL","change":1.84,"price":95.82}{"ticker_symbol":"CVB","sector":"TECHNOLOGY","change":-0.07,"price":57.51}{"ticker_symbol":"DFT","sector":"RETAIL","change":-0.06,"price":131.62}

URL объекта - xml файл в корзине :

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>11111</RequestId>
<HostId>
1111111111111    </HostId>
</Error>

Кластер Redshift:

  • присоединен Роль IAM AWSServiceRoleForRedshift firehose_delivery_role (та же роль в кинезисе)
  • Сеть и безопасность: виртуальная частное облако (VP C) info
  • CIDR и входящие правила: 172.31.0.0/16 13.58.135.96/27
  • Зона доступности: us-east-2a
  • VP C группа безопасности: по умолчанию
  • Общедоступно: да

Я также прочитал файл политик Jason, например: https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using -iam-s3 но не понятно как мне поступить Это. с другой стороны, политика добавляется через GUI, поэтому она должна работать.

Не могли бы вы мне помочь, как мне go сделать шаг вперед? Большое спасибо!

-------- через несколько дней -------------

после обнаружения ошибки команды копирования я попытался найти проблему с помощью этой страницы: s3 доступ запрещен 403 Я не смог найти проблему специально, но в kinesis нет ошибки: журнал красного смещения и нет ошибки в базе данных Redshift с этими 3 запросами:

select * from STL_LOAD_ERRORS;
select * from  STL_FILE_SCAN;
select * from STL_S3CLIENT_ERROR order by recordtime desc;

, но в красном смещении данные не копируются (на вкладке «Мониторинг кинезиса» «DeliveryToRedshift Success» все еще на нуле) Буду признателен, если у кого-нибудь есть идея.

1 Ответ

0 голосов
/ 21 апреля 2020

первый шаг: хорошо, я шаг вперед. с этим запросом в красном смещении проблема показывает себя

select * from STL_S3CLIENT_ERROR order by recordtime desc;

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

select * from STL_LOAD_ERRORS;
select * from  STL_FILE_SCAN;

вот ссылка для получения дополнительной информации. Системные таблицы для устранения неполадок загрузки данных


второй шаг: возникли некоторые проблемы с моим синтаксисом копирования. Существует другой способ записи arn в копии, и это зависит от того, какой тип безопасности вы хотите использовать. Я должен написать это так:

copy category from 's3://mybucket/testdata/category_pipe.txt'  
iam_role 'arn:aws:iam::11111111111'
                    delimiter '|' region 'us-east-2';

вот больше информации о ARN

Теперь мой пример копирования работает, и я мог бы успешно установить соединение между redshift и s3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...