Моя цель - переместить данные из S3 в HDFS в кластере EMR с помощью Logstash.
Мой конфигурационный файл HDFStest.conf:
input {
s3 {
bucket => "aws-logs-003630752293-ap-southeast-1"
access_key_id => "${ACCESS_KEY_ID}"
secret_access_key => "${SECRET_ACCESS_KEY}"
region => "ap-southeast-1"
prefix => "Student"
sincedb_path => "/dev/null"
}
}
output {
webhdfs {
host => "172.31.34.60"
port => 50070
path => "/home/hadoop/datafromlogstash/data.csv"
user => "hadoop"
use_ssl_auth => true
ssl_cert => "/usr/share/logstash/test/exaLeap_key.pem"
ssl_key => "/usr/share/logstash/test/exaLeap_pubkey.pem"
}
}
Запуск Logstash с этим файлом конфигурации, используя:
$ logstash --path.data writedata --path.config HDFStest.conf
выдает ошибку:
[2019-01-04T18:54:05,494][ERROR][logstash.pipeline ] Pipeline aborted due to error {:pipeline_id=>"main", :exception=>#<OpenSSL::X509::CertificateError: No message available>, :backtrace=>["org/jruby/ext/openssl/X509Cert.java:213:in `initialize'", ...
Это означает, что есть проблема с моим сертификатом SSL или ключом SSL, но я точно не знаю, как именно. Используемый мной ssl_cert - это закрытый ключ RSA, сгенерированный из AWS и называемый exaLeap_key, который используется для аутентификации моего соединения с кластером EMR. Ssl_key - это открытый ключ, который я сгенерировал из закрытого ключа, используя «$ ssh keygen -y», который затем преобразуется в формат .pem.
Потенциальные источники ошибок, о которых я подумал: использование неверной пары ключей, неправильная генерация ключей / сертификатов или неправильный формат (ы).
Любая помощь будет принята с благодарностью.