2016-12-05 11 views
4

Возможно ли подключиться к ElasticSearch через HTTPS с помощью X-Pack? С помощью переключателя, чтобы использовать сертификат, собственный способ подключения больше не работает. У меня нет проблем с использованием сертификата, но мне нужно знать, где его получить или загрузить ключ в экземпляр облака, но я не могу найти информацию нигде. Я также не получаю ответа от кого-либо на форуме или в IRC.Подключение к ElasticSearch Cloud 5.x с Java-клиентом и X-Pack/HTTPS

Неужели кто-нибудь успешно это сделал? Предупреждение при запуске экземпляра 5.x больше не возникает, поэтому я предположил, что это возможно, но я просто не могу понять, как это сделать. Мне также сказали, что я больше не могу запускать экземпляр 2.4.1, и доступен только 2.4.2 (слишком неустойчивый до сих пор), поэтому я не задумываюсь о том, чтобы запустить полезный экземпляр.


Update

мне сказали, что сертификат не требуется, так как используется общедоступный центр сертификации. Тем не менее, я все еще не могу понять, как подключиться к экземпляру 5.1.1.

Settings settings = Settings.builder() 
      .put("transport.ping_schedule", "5s") 
      .put("cluster.name", "<cluster_id>") 
      .put("xpack.security.transport.ssl.enabled", "true") 
      .put("xpack.security.user", "elastic:<password_from_cluster_creation>") 
      .build(); 

    String hostname = "<cluster_id>.us-east-1.aws.found.io"; 
    TransportClient client = new PreBuiltXPackTransportClient(settings) 
     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(hostname), 9343)); 

Что я здесь делаю неправильно? Я получаю сообщение об ошибке, когда узел недоступен.

Exception in thread "main" NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{xlhZqKBCQniYrN4OWzByFQ}{<cluster_id>.us-east-1.aws.found.io}{<id_address>:9343}]] 

Я также попытался создать пользователя с ролью transport_client, но по-прежнему та же ошибка.


Update 2

Я попробовал образец кода здесь, и он до сих пор не работает.

https://github.com/elastic/found-shield-example/blob/master/src/main/java/org/elasticsearch/cloud/transport/example/TransportExample.java

Вот, например, вы можете проверить с. Я уничтожу его позже, когда выясню проблему.


Update 3

Я понял вопрос и уничтожил тестовый кластер. Найдите решение ниже.

ответ

3

После некоторого обсуждения с людьми на форуме ES, я получил его окончательно. Вот некоторые советы, когда вы столкнулись с проблемой с подключением:

1) Вы, вероятно, не добавить это в заголовке, так как он не упоминается в документации

.put("request.headers.X-Found-Cluster", clusterName) 

2) Если это все еще Безразлично» т работу, использовать образец кода здесь, чтобы убедиться, что вы имя хоста правильно и у вас есть правильный удостоверении

https://github.com/elastic/found-shield-example#running

3) Если вы пытаетесь запустить образец кода внутри Eclipse, заменить $ {кластера. имя} перед запуском или это не сработает.

Надеюсь, что эта помощь спасет людей некоторое время, пытаясь выяснить, что связано с проблемой. Подключение к ES 5.x примерно так же просто, как 2.x. Проблема в том, что документация не ясна, и нет ссылки на образец клиента.

 Смежные вопросы

  • Нет связанных вопросов^_^