Получение ошибки при настройке конфигурации SSL / TLS сластиком поиска и эластичным соединителем kafka - PullRequest
0 голосов
/ 15 апреля 2019

Я попробовал с 5.1.0-post веткой. Выдает несколько ошибок при настройке с SSL / TLS, Я также упомянул ветку, ссылку на репозитории и совместимость Я упомянул шаги ниже:

#
   Versions:
a) ElasticSearch => 6.5.4

b) Kafka => 2.1.0

c) Kafka ElasticSearch Connector => 5.1.0-post


Confluent Platform and Apache Kafka Compatibility:
5.0.x   2.0.x
5.1.x   2.1.x
5.2.x   2.2.x

1. `mkdir CONNECTOR_BUILD`

2. `cd CONNECTOR_BUILD`

3. Cloned required packages (Since all 3 below repositories should be at dir level)

    a) `git clone https://github.com/apache/kafka.git --branch 2.1`

    b) `git clone https://github.com/confluentinc/common.git --branch 5.1.0-post`

    c) `git clone https://github.com/confluentinc/kafka-connect-elasticsearch.git --branch 5.1.0-post`

4. Started making package of it.

    a) `cd CONNECTOR_BUILD/kafka`

       i) `gradle` (If gradle not installed, please install it.)

       ii) Run the below command to install jars in local maven repo

       ./gradlew installAll

Build was successful

b) `cd CONNECTOR_BUILD/common`

i) `mvn clean install -DskipTests`

    Build was successful

c) `cd CONNECTOR_BUILD/kafka-connect-elasticsearch`

    i) `mvn clean install -DskipTests`

    Build was successful

5. Untar ES 6.5.4 package.
6. Changed elasticsearch.yml file
7. Untar Kafka 2.1.0 package.
8. Created connector.properties file
9. Created ELK-connector.properties flie 
10.Placed the kafka-connect-elasticsearch-5.1.0.jar (from kafka-connect-elasticsearch) inside kafka_2.11-2.1.0/libs 
11. Also some extra dependencies from kafka-connect-elasticsearch/target/kafka-connect-elasticsearch-5.1.0-package/share/java/kafka-connect-elasticsearch/ inside kafka_2.11-2.1.0/libs 

12. Run the command 

    ./bin/connect-distributed.sh ../connector.properties ../ELK-Connector.properties

I am getting errors when following the below steps: 

Переход по ссылке: Kafka Elastic SSL / TLS security

  1. Анализ CD /asticsearch / config
  2. MKDIR Certs
  3. CD-сертификаты
  4. Создан самозаверяющий сертификат.

Создайте центр сертификации (убедитесь, что ваше полное доменное имя localhost)

openssl req -new -x509 -keyout cacert.key -out cacert.pem -days 666

Создание сертификата клиента

openssl genrsa -out client1.key 2048

Создание запроса на подпись сертификата

openssl req -new -key client1.key -out client1.csr

Подпишите запрос с CA

openssl x509 -req -in client1.csr -CA cacert.pem -CAkey cacert.key -CAcreateserial -out client1.crt -days 1825 -sha256

Пакет ключей разъема как JKS

openssl pkcs12 -export -out bundle.p12 -in client1.crt -inkey client1.key


keytool -keystore truststore.jks -import -file cacert.pem -alias cacert


keytool -destkeystore keystore.jks -importkeystore -srckeystore bundle.p12 -srcstoretype PKCS12
  1. Настройка файла конфигурации ElasticSearch (asticsearch.yml)

    xpack.security.enabled: true xpack.security.http.ssl.enabled: true xpack.security.http.ssl.client_authentication: требуется xpack.security.http.ssl.key: certs / client1.key xpack.security.http.ssl.certificate: certs / client1.crt xpack.security.http.ssl.certificate_authorities: ["certs / cacert.pem"]

  2. Установить пароли bin/elasticsearch-keystore add

    xpack.security.http.ssl.secure_key_passphrase

  3. curl --key config/certs/client1.key --cert config/certs/client1.crt --cacert config/certs/cacert.pem https://10.27.0.114:9200

Теперь ES работает с https, как мы можем видеть в выводе ниже.

{
"name" : "mini01",
"cluster_name" : "Gen-E OpsCenter",
"cluster_uuid" : "2qviM7k7SPKp57_8KLDamQ",
"version" :

{ "number" : "6.5.4", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "d2ef93d", "build_date" : "2018-12-17T21:17:40.758843Z", "build_snapshot" : false, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }
,
"tagline" : "You Know, for Search"
}
  1. Настройка кафки с эластичным разъемом
  2. Теперь сделайте настройки конфигурации с вызовами REST. Так как наш разъем кафки работает.
curl -X POST -H "Content-Type: application/json" --data '{"name": "elasticsearch-sink", "config":

{ "connector.class": "io.confluent.connect.elasticsearch.ElasticsearchSinkConnector", "Tasks.max": "4", "темы": "raw_alarms_topic", "topic.index.map": "raw_alarms_topic: транспортно-сигналы", "key.ignore": "правда", "schema.ignore": "правда", "connection.url": "https://mini01:9200"," type.name ": "asticSearch-раковина ", "astic.https.ssl.keystore.location": "/Data/Dhan/KKK/elasticsearch-6.5.4/config/certs/keystore.jks", "astic.https.ssl.keystore.password ":" qwerty ", "astic.https.ssl.key.password ":" qwerty ", "astic.https.ssl.keystore.type ":" JKS ", "Elastic.https.ssl.truststore.location": "/Data/Dhan/KKK/elasticsearch-6.5.4/config/certs/truststore.jks", "astic.https.ssl.truststore.password ":" qwerty ", "astic.https.ssl.truststore.type ":" JKS ", "astic.https.ssl.protocol ":" SSL "}} ' http://localhost:8083/connectors

Получение ошибок:

Задача уничтожается и не будет восстановлена ​​до тех пор, пока не будет перезапущена вручную (org.apache.kafka.connect.runtime.WorkerTask: 178) [2019-04-15 02: 05: 24,356] ИНФОРМАЦИЯ Остановка ElasticsearchSinkTask. (Io.confluent.connect.elasticsearch.ElasticsearchSinkTask: 177) [2019-04-15 02: 05: 24,415] ОШИБКА WorkerSinkTask {id =asticsearch-sink-1} Задача вызвала невыполнение и неисправимое исключение (Org.apache.kafka.connect.runtime.WorkerTask: 177) org.apache.kafka.connect.errors.ConnectException: не удалось запустить ElasticsearchSinkTask из-за ошибки соединения: в io.confluent.connect.elasticsearch.jest.JestElasticsearchClient. (JestElasticsearchClient.java:145) в io.confluent.connect.elasticsearch.jest.JestElasticsearchClient. (JestElasticsearchClient.java:112) в io.confluent.connect.elasticsearch.ElasticsearchSinkTask.start (ElasticsearchSinkTask.java:118) в io.confluent.connect.elasticsearch.ElasticsearchSinkTask.start (ElasticsearchSinkTask.java:49) в org.apache.kafka.connect.runtime.WorkerSinkTask.initializeAndStart (WorkerSinkTask.java:302) в org.apache.kafka.connect.runtime.WorkerSinkTask.execute (WorkerSinkTask.java:191) в org.apache.kafka.connect.runtime.WorkerTask.doRun (WorkerTask.java:175) в org.apache.kafka.connect.runtime.WorkerTask.run (WorkerTask.java:219) в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511)в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) at java.lang.Thread.run (Thread.java:748) Причина: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрашиваемой цели в sun.security.ssl.Alerts.getSSLException (Alerts.java:192) в sun.security.ssl.SSLSocketImpl.fatal (SSLSocketImpl.java:1946) в sun.security.ssl.Handshaker.fatalSE (Handshaker.java:316) в sun.security.ssl.Handshaker.fatalSE (Handshaker.java:310) в sun.security.ssl.ClientHandshaker.serverCertificate (ClientHandshaker.java:1639) в sun.security.ssl.ClientHandshaker.processMessage (ClientHandshaker.java:223) в sun.security.ssl.Handshaker.processLoop (Handshaker.java:1037) в sun.security.ssl.Handshaker.process_record (Handshaker.java:965) в sun.security.ssl.SSLSocketImpl.readRecord (SSLSocketImpl.java:1064) в sun.security.ssl.SSLSocketImpl.performInitialHandshake (SSLSocketImpl.java:1367) в sun.security.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1395) в sun.security.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1379) в org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket (SSLConnectionSocketFactory.java:394) в org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket (SSLConnectionSocketFactory.java:353) в org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect (DefaultHttpClientConnectionOperator.java:141) в org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect (PoolingHttpClientConnectionManager.java:353) в org.apache.http.impl.execchain.MainClientExec.establishRoute (MainClientExec.java:380) в org.apache.http.impl.execchain.MainClientExec.execute (MainClientExec.java:236) в org.apache.http.impl.execchain.ProtocolExec.execute (ProtocolExec.java:184) в org.apache.http.impl.execchain.RetryExec.execute (RetryExec.java:88) в org.apache.http.impl.execchain.RedirectExec.execute (RedirectExec.java:110) в org.apache.http.impl.client.InternalHttpClient.doExecute (InternalHttpClient.java:184) в org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:82) в org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:107) в io.searchbox.client.http.JestHttpClient.executeRequest (JestHttpClient.java:118) в io.searchbox.client.http.JestHttpClient.execute (JestHttpClient.java:57) в io.confluent.connect.elasticsearch.jest.JestElasticsearchClient.getServerVersion (JestElasticsearchClient.java:166) в io.confluent.connect.elasticsearch.jest.JestElasticsearchClient. (JestElasticsearchClient.java:143) ... еще 12 причин: sun.security.validator.ValidatorException: Ошибка построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрашиваемой цели в sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:397) в sun.security.validator.PKIXValidator.engineValidate (PKIXValidator.java:302) в sun.security.validator.Validator.validate (Validator.java:262) в sun.security.ssl.X509TrustManagerImpl.validate (X509TrustManagerImpl.java:324) в sun.security.ssl.X509TrustManagerImpl.checkTrusted (X509TrustManagerImpl.java:229) в sun.security.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java:124) в sun.security.ssl.ClientHandshaker.serverCertificate (ClientHandshaker.java:1621) ... еще 35 причин: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрашиваемой цели вsun.security.provider.certpath.SunCertPathBuilder.build (SunCertPathBuilder.java:141) в sun.security.provider.certpath.SunCertPathBuilder.engineBuild (SunCertPathBuilder.javadert.Java: 280) at sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:392) ... еще 41 [2019-04-15 02: 05,417] ОШИБКА WorkerSinkTask {id =asticsearch-sink-1} Задачауничтожается и не восстановится до тех пор, пока не будет перезапущен вручную (org.apache.kafka.connect.runtime.WorkerTask: 178)

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