当前位置: 首页 > news >正文

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/pluginssudo 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 interactiveNote: 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

image-20240730142532887

连接成功!

方法二: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.2docker 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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 3.5.3、查找和排序算法-插入类排序和选择类排序
  • Dify中语音和文字间转换问题的一种暂时注释方式
  • 大模型算法面试题(十七)
  • Django实战:开启数字化任务管理的新纪元
  • C/C++编程-算法学习-数字滤波器
  • 日常踩坑---ljmp在BIOS中的使用
  • pytest-html报告修改与汉化
  • CTF-NSSCTF[NISACTF 2022]
  • 探索PostgreSQL的GUI工具:提升数据库管理效率
  • 小阿轩yx-部署 KVM 虚拟化平台
  • Elasticsearch跨集群搜索
  • 搜维尔科技:Haption Virtuose 6D遥操作控制人形机器人操作
  • 【Linux-IMX6ULL-阻塞与非阻塞】
  • org.eclipse.jgit 简单总结
  • 电测量数据交换DLMSCOSEM组件第53部分:DLMSCOSEM应用层(下)
  • CentOS 7 修改主机名
  • django开发-定时任务的使用
  • es6要点
  • JWT究竟是什么呢?
  • Laravel5.4 Queues队列学习
  • node.js
  • Nodejs和JavaWeb协助开发
  • PHP面试之三:MySQL数据库
  • SQLServer之创建数据库快照
  • 阿里研究院入选中国企业智库系统影响力榜
  • 关于for循环的简单归纳
  • 前端js -- this指向总结。
  • 积累各种好的链接
  • 进程与线程(三)——进程/线程间通信
  • # Redis 入门到精通(九)-- 主从复制(1)
  • # SpringBoot 如何让指定的Bean先加载
  • #、%和$符号在OGNL表达式中经常出现
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)PySpark3:SparkSQL编程
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (一) 初入MySQL 【认识和部署】
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .Net FrameWork总结
  • .NET MVC第三章、三种传值方式
  • .NET应用UI框架DevExpress XAF v24.1 - 可用性进一步增强
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • []error LNK2001: unresolved external symbol _m
  • [001-03-007].第07节:Redis中的事务
  • [5] CUDA线程调用与存储器架构
  • [ActionScript][AS3]小小笔记
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)
  • [C# 开发技巧]实现属于自己的截图工具
  • [C/C++]数据结构 深入挖掘环形链表问题