问题描述
在尝试在自己的笔记本电脑上运行AWS OpenDistro Elasticsearch的Docker镜像进行测试。然而,在运行时,该镜像默认要求使用HTTPS连接,而用户想要以HTTP方式运行。用户使用以下命令来运行Docker镜像:
docker run -d --name elasticsearch-od -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node"
解决方案
请注意以下操作可能涉及版本差异及修改前做好备份。
在Docker中以HTTP方式运行OpenDistro Elasticsearch需要进行以下步骤:
步骤1:更改环境变量
打开你的终端并运行以下命令,将Docker容器的环境变量从HTTPS更改为HTTP:
docker run -d --name elasticsearch-od -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" -e "ELASTICSEARCH_URL=http://odfe-node1:9200" -e "ELASTICSEARCH_HOSTS=http://odfe-node1:9200"
这将在Docker中运行OpenDistro Elasticsearch容器,并将ELASTICSEARCH_URL和ELASTICSEARCH_HOSTS环境变量设置为HTTP连接。
步骤2:修改Elasticsearch配置
为了确保Elasticsearch以HTTP方式运行,需要修改其配置。按照以下步骤操作:
-
进入已运行的Elasticsearch容器:
bash
docker exec -it elasticsearch-od /bin/bash -
进入Elasticsearch配置目录:
bash
cd /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/ -
打开
elasticsearch.yml
配置文件以进行编辑:
bash
vi elasticsearch.yml -
在配置文件中找到以下行并进行修改:
yaml
https-enabled: true
修改为:
yaml
https-enabled: false -
保存并退出编辑模式。
-
重启Elasticsearch容器,使配置生效:
bash
docker restart elasticsearch-od
至此,你已成功将OpenDistro Elasticsearch在Docker中切换为HTTP方式运行。
注意事项
- 这些操作可能会因版本差异而有所不同,建议在进行修改之前先备份你的配置和数据。
- 如果你仍然遇到问题,可以参考OpenDistro Elasticsearch的官方文档或社区支持获取更多帮助。
这样,你就可以在Docker中成功以HTTP方式运行OpenDistro Elasticsearch了。祝你使用愉快!