已經使用 docker-compose 設定了一個 3 節點的 Elasticsearch 集群。遵循以下步驟:在其中一個主節點 es11 上出現以下錯誤,但是相同的 curl 命令在其他 2 個節點上正常作業,即 es12、es13:
錯誤:
curl -X GET 'https://localhost:9316'
curl: (35) Encountered end of file
日志中的以下錯誤:
"stacktrace": ["org.elasticsearch.transport.RemoteTransportException: [es13][SOMEIP:9316][internal:cluster/coordination/join]",
"Caused by: org.elasticsearch.transport.ConnectTransportException: [es11][SOMEIP:9316] handshake failed. unexpected remote node {es13}{SOMEVALUE}{SOMEVALUE
"at org.elasticsearch.transport.TransportService.lambda$connectionValidator$6(TransportService.java:468) ~[elasticsearch-7.17.6.jar:7.17.6]",
"at org.elasticsearch.action.ActionListener$MappedActionListener.onResponse(ActionListener.java:95) ~[elasticsearch-7.17.6.jar:7.17.6]",
"at org.elasticsearch.transport.TransportService.lambda$handshake$9(TransportService.java:577) ~[elasticsearch-7.17.6.jar:7.17.6]",
瀏覽器上的 https://localhost:9316 也給出了無法訪問站點的錯誤。似乎在下面的步驟 4 中創建的 SSL 證書在 es11 中存在一些問題。請問有什么線索嗎?或者如果我重復第 4 步,是否需要再次將證書復制到 es12 和 es13?
在 elasticsearch.yml 下面
cluster.name: "docker-cluster"
network.host: 0.0.0.0
所有 3 個節點 docker-compose.yml 中定義的埠
environment:
- node.name=es11
- transport.port=9316
ports:
- 9216:9200
- 9316:9316
- 初始化一個 docker swarm。在 ES11 上運行 docker swarm init。按照說明將 12 和 13 加入集群。
- 創建覆寫網路 docker network create -d overlay --attachable elastic
- 如有必要,關閉當前集群并通過運行 docker-compose down -v 洗掉所有關聯的卷
- 使用 docker-compose -f create-certs.yml run --rm create_certs 為 ES 創建 SSL 證書
- 將 es12 和 13 的證書復制到各自的服務器
- 使用這個busybox在12和13上創建覆寫網路 sudo docker run -itd --name containerX --net [network name] busybox
- 使用 docker-compose -f config-certs.yml run --rm config_certs 在 12 和 13 上配置證書
- 在每臺服務器上使用 docker-compose up -d 啟動集群
- 通過登錄集群 docker exec -it es11 sh 然后運行 ??bin/elasticsearch-setup-passwords interactive --url localhost:9316 設定內置 ES 帳戶的密碼
uj5u.com熱心網友回復:
(根據您的https://discuss.elastic.co執行緒)
您不能將 HTTP 與您在transport.port. 您需要與9200容器中的埠通信,該埠已映射到9216容器外部
傳輸埠運行 HTTP 不可訪問的二進制協議
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/528139.html
上一篇:卷曲請求C#Unity3D
下一篇:AWS:兩個實體:在一個ec2實體上,卷曲在另一個ec2實體上使用nginxdoocker映像運行的web服務:獲取連接被拒絕
