Вывод logstash на проблему WebHDFS SSL - PullRequest
0 голосов
/ 04 января 2019

Моя цель - переместить данные из 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.

Потенциальные источники ошибок, о которых я подумал: использование неверной пары ключей, неправильная генерация ключей / сертификатов или неправильный формат (ы).

Любая помощь будет принята с благодарностью.

...