docker安装elasticsearch(es)最新版本

docker安装elasticsearch(es)

docker官网

https://hub.docker.com/

https://www.cnblogs.com/balloon72/p/13177872.html

1、拉取最新项目elasticsearch

复制代码
docker pull elasticsearch:8.14.3

lscpu 查看架构

2、构建环境

复制代码
mkdir -p /data/elasticsearch/config
mkdir -p /data/elasticsearch/data
mkdir -p /data/elasticsearch/plugins

sudo chmod -R 777 /data/elasticsearch/
echo "network.host: 0.0.0.0" >> /data/elasticsearch/config/elasticsearch.yml

错了不指定把

3、运行

废弃 指定了yml配置

复制代码
docker run --name elasticsearch -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elasticsearch/data:/usr/share/elasticsearch/data -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:8.14.3

端口9200和9300

复制代码
Elasticsearch 使用不同的端口来处理不同类型的通信。以下是端口9200和9300的主要用途:

端口9200:

这是Elasticsearch的HTTP REST API端口,用于客户端与Elasticsearch集群之间的通信。
客户端通过这个端口发送HTTP请求,执行各种操作,如索引数据、搜索、更新映射、管理索引等。
默认情况下,Elasticsearch监听这个端口上的TCP/IP协议。
端口9300:

这是Elasticsearch的节点间通信(Node-to-Node)端口,用于集群内部节点之间的通信。
节点通过这个端口进行集群状态同步、分片分配、数据恢复等操作。
这个端口通常不对外开放,只限于集群内的节点之间使用。
请注意,端口号是可以配置的,所以9200和9300是Elasticsearch的默认端口,但在实际部署中可能会根据需要进行更改。

安全提示:

端口9200对外开放时,应确保使用HTTPS来加密通信,并限制访问到可信的IP地址。
端口9300不应该对外开放,只限于集群内部使用,以防止未授权的节点加入集群。
如果你需要进一步的帮助或有关于Elasticsearch端口配置的具体问题,请随时提问。

配置密码

方法一、配置内置密码

复制代码
docker run --name elasticsearch -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /data/elasticsearch/data:/usr/share/elasticsearch/data -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:8.14.3

设置内置用户的密码
等待几秒钟,直到 Elasticsearch 容器启动并准备好。然后,运行以下命令进入容器并设置密码:

docker exec -it elasticsearch /bin/bash

在容器内,运行以下命令:

elasticsearch-setup-passwords interactive

Note: The 'elasticsearch-setup-passwords' tool has been deprecated. This       command will be removed in a future release.

算了不用了

只允许可信的IP地址访问Elasticsearch的API。你可以在Elasticsearch的配置文件中设置http.hosts来限制允许的主机。

配置下可信ip

复制代码
https://www.ip.cn/
59.52.8.163

使用google插件 Elasticvue

连接成功!

方法二:docker运行增加密码配置 推荐

复制代码
docker run --name elasticsearch -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -e "ELASTIC_PASSWORD=3301359!" -v /data/elasticsearch/data:/usr/share/elasticsearch/data -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:8.14.3

默认用户 elastic

复制代码
其中elasticsearch.yml是挂载的配置文件,data是挂载的数据,plugins是es的插件,如ik,而数据挂载需要权限,需要设置data文件的权限为可读可写,需要下边的指令。
chmod -R 777 要修改的路径

-e "discovery.type=single-node" 设置为单节点
特别注意:
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES

4、其他 自己选择: kibana

复制代码
docker pull kibana:7.6.2

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的IP地址:9200 -p 5601:5601 -d kibana:7.6.2
//docker run --name kibana -e ELASTICSEARCH_URL=http://自己的IP地址:9200 -p 5601:5601 -d kibana:7.6.2

进入容器修改相应内容
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: [ "http://自己的IP地址:9200" ]
i18n.locale: "Zh-CN"

然后访问页面
http://自己的IP地址:5601/app/kibana

其他问题

Exception in thread "main" java.nio.file.FileSystemException: /usr/share/elasticsearch/config/elasticsearch.yml.ZUUXZ_u-QKGpIxzy8dQMrg.tmp -> /usr/share/elasticsearch/config/elasticsearch.yml: Device or resource busy

https://blog.csdn.net/wo541075754/article/details/138149179

参考如上:

复制代码
上述配置虽然格式挣钱,但貌似在该版本中并不支持该配置项目,而需要改为:

network.host: 0.0.0.0

改为上述配置便可正常启动。同时需要注意的是,在该版本中,上述配置是默认的配置,所以可以不用进行指定配置。

相关推荐
杨浦老苏6 小时前
家庭实验室监控仪表盘HomeLab-Monitor
运维·docker·监控·群晖
ai产品老杨11 小时前
架构师深剖:基于 Docker 容器化与边缘计算的 AI 视频管理平台——支持 GB28181/RTSP 多协议接入与全源码交付
人工智能·docker·边缘计算
Java 码思客12 小时前
【ElasticSearch从入门到架构师】第5章:ES DSL 检索语法精讲(核心重点)
大数据·elasticsearch
qq_1851986913 小时前
Docker 历史版本
docker
m0_7381207213 小时前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
杨浦老苏16 小时前
PDF文档管理平台PDFManager
docker·pdf·工具·群晖
ai产品老杨17 小时前
解耦异构安防:基于 Docker 与边缘计算的 AI 视频管理平台,如何实现 GB28181/RTSP 统一接入与全源码交付
人工智能·docker·边缘计算
2601_9618752417 小时前
法考资料电子版|pdf|资料已整理
elasticsearch·搜索引擎·pdf·全文检索·solr·lucene·sphinx
极客先躯18 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme18 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体