발생한 문제와 그에 따른 해결책을 알아보자.

the trustAnchors parameter must be non-empty

우분투 14.04 LTS에 logstash를 설치하기 위해 openjdk-r ppa 를 추가한 후 openjdk-8을 설치하였다. 그 뒤에 logstash를 실행했는데 다음과 같은 에러가 발생하였다.

Pipeline aborted due to error {:exception=>#<Manticore::UnknownException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty>,
 :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/1.9/gems/manticore-0.6.0-java/lib/manticore/response.rb:37:in `initialize'",
 "org/jruby/RubyProc.java:281:in `call'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/manticore-0.6.0-java/lib/manticore/response.rb:79:in `call'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb:42:in `perform_request'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:234:in `perform_request_to_url'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:202:in `healthcheck!'",
 "org/jruby/RubyHash.java:1342:in `each'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:197:in `healthcheck!'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:289:in `update_urls'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:66:in `initialize'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client.rb:183:in `build_pool'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client.rb:35:in `initialize'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/http_client_builder.rb:57:in `build'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch.rb:196:in `build_client'",
 "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-5.4.0-java/lib/logstash/outputs/elasticsearch/common.rb:13:in `register'",
 "/usr/share/logstash/logstash-core/lib/logstash/output_delegator_strategies/shared.rb:8:in `register'",
  "/usr/share/logstash/logstash-core/lib/logstash/output_delegator.rb:37:in `register'",
  "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:229:in `start_workers'",
  "org/jruby/RubyArray.java:1613:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:229:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:183:in `run'",
  "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:292:in `start_pipeline'"]}

버그가 좀 있는 것으로 보인다. 다음의 방법으로 해결하였다. 간략하게 적으면 다음과 같다.

$ sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure