首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在与docker图像拉力赛中创建轨迹时使用ConnectionError

在与docker图像拉力赛中创建轨迹时使用ConnectionError
EN

Stack Overflow用户
提问于 2021-05-09 03:10:36
回答 1查看 70关注 0票数 0

我正在尝试使用Rally文档页面中的说明从现有的Elasticsearch集群创建自定义曲目。

我正在运行Rally as a Docker Image。我在同一个主机上运行了elasticsearch:7.12.0和一个docker镜像。docker容器正在运行,可以使用基本身份验证访问主机。

代码语言:javascript
复制
$ sudo docker container ls
CONTAINER ID   IMAGE                                                  COMMAND             CREATED             STATUS             PORTS                                                 NAMES
a60bca4121c6   docker.elastic.co/elasticsearch/elasticsearch:7.12.0   "/bin/tini -- /usr/l…"   About an hour ago   Up About an hour   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 9300/tcp   es01
2241695bdfa7   docker.elastic.co/elasticsearch/elasticsearch:7.12.0   "/bin/tini -- /usr/l…"   About an hour ago   Up About an hour   9200/tcp, 9300/tcp                                    es02


$ curl -XGET http://localhost:9200 -u elastic:esbackup-password
{
  "name" : "es01",
  "cluster_name" : "es-docker-cluster",
  "cluster_uuid" : "04EdIVB_QC2il_3iJCarkw",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
    "build_date" : "2021-03-18T06:17:15.410153305Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

当我尝试使用--client-options执行create-track命令时,我得到下面提到的ConnectionError。

代码语言:javascript
复制
$ sudo docker run elastic/rally create-track --track=mytrack --target-hosts=localhost:9200 --client-options="timeout:60,use_ssl:false,verify_certs:false,basic_auth_user:'elastic',basic_auth_password:'esbackup-password'" --indices="my-index-local-*" --output-path=~/tracks

    ____        ____
   / __ \____ _/ / /_  __
  / /_/ / __ `/ / / / / /
 / _, _/ /_/ / / / /_/ /
/_/ |_|\__,_/_/_/\__, /
                /____/

[ERROR] Cannot create-track. ConnectionError(<urllib3.connection.HTTPConnection object at 0x7fdc8ca93220>: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x7fdc8ca93220>: Failed to establish a new connection: [Errno 111] Connection refused).

Getting further help:
*********************
* Check the log files in /rally/.rally/logs for errors.
* Read the documentation at https://esrally.readthedocs.io/en/2.2.0/.
* Ask a question on the forum at https://discuss.elastic.co/tags/c/elastic-stack/elasticsearch/rally.
* Raise an issue at https://github.com/elastic/rally/issues and include the log files in /rally/.rally/logs.

-------------------------------
[INFO] FAILURE (took 1 seconds)
-------------------------------

从错误中可以清楚地看出,在docker容器中运行的Rally无法创建与在单独容器中运行的Elasticsearch的连接。我在--client-options中传递了凭据,但似乎没有选择这些凭据。

不确定,我到底做错了什么!如有任何建议,我们将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-11 21:56:53

感谢Elastic团队在他们的官方讨论频道回答了这个问题:

该设置需要在Elasticsearch和Rally容器之间配置和共享docker网络,以便它们能够通信。

我们不会在这里说明你的Elasticsearch容器是如何运行的,但是一旦我们让它在网络中执行,我们就可以用以下命令运行rally (假设你替换了网络和容器名称占位符):

代码语言:javascript
复制
$ docker run --network <es-network-name> elastic/rally create-track --track=mytrack --target-hosts=<es-container-name>:9200 --client-options="timeout:60,use_ssl:false,verify_certs:false,basic_auth_user:'elastic',basic_auth_password:'esbackup-password'" --indices="my-index-local-*" --output-path=~/tracks

参考- https://discuss.elastic.co/t/connectionerror-while-creating-track-in-rally-with-docker-image/272448?u=akm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67451235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档