Docker安装Elesticsearch7详细步骤

图片

1、创建安装目录

mkdir -p /usr/local/docker/es-docker

2、配置虚拟内存

如果不配置,后面启动es会报错。

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

配置如下

vi /etc/sysctl.conf
vm.max_map_count=262144

最后执行以下命令使其生效

sysctl -p

3、配置docker-compose.yml

内容如下:

version: '2.2'
services:es01:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12container_name: es01environment:- node.name=es01- cluster.name=es-docker-cluster- discovery.seed_hosts=es02,es03- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- data01:/usr/local/docker/es-docker/data/data01ports:- 9200:9200networks:- elastices02:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12container_name: es02environment:- node.name=es02- cluster.name=es-docker-cluster- discovery.seed_hosts=es01,es03- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- data02:/usr/local/docker/es-docker/data/data02networks:- elastices03:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12container_name: es03environment:- node.name=es03- cluster.name=es-docker-cluster- discovery.seed_hosts=es01,es02- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- data03:/usr/local/docker/es-docker/data/data03networks:- elasticvolumes:data01:driver: localdata02:driver: localdata03:driver: localnetworks:elastic:driver: bridge

4、安装

docker-compose -f docker-compose.yml up -d

5、Elasticsearch新特性

Elasticsearch 7 于2019年11月发布,对比6.x,7.x 版本的特性变化主要有:
1. 集群连接变化:TransportClient 被废弃,7.x 的 java 代码,只能使用 restclient。对于 java 编程,建议采用 High-level-rest-client 的方式操作 ES 集群。
2. ES 数据存储结构变化:去除了 Type,es6时,官方就提到了 es7会删除 type,并且 es6时已经规定每一个 index 只能有一个 type。在 es7中使用默认的_doc 作为 type,官方说在8.x版本会彻底移除 type。同时,api 请求方式也发送变化,如获得某索引的某 ID 的文档的请求方式为:GET index/_doc/id,其中index和id为具体的值。
3. High-level REST client 改变:已删除接受 Header 参数的 API 方法;Cluster Health API 默认为集群级别。
4. ES 程序包默认打包 JDK:7.x 版本的程序包大小突然变为300MB+,对比6.x,包大了200MB+,正是 JDK 的大小。
5. 默认配置变化:默认节点名称为主机名,默认分片数改为1,不再是5。
6. 查询相关性速度优化:采用 Weak-AND 算法。核心原理是取 TOP N 结果集,估算命中记录数。一般情况下,在计算文本相关性时,会通过倒排索引的方式进行查询,通过倒排索引已经要比全量遍历节约大量时间,但有时候仍然很慢。这是因为很多时候我们其实只想要 top n 个结果,一些结果明显较差的也进行了复杂的相关性计算,而 Weak-AND 算法通过计算每个词的贡献上限来估计文档的相关性上限,从而建立一个阈值对倒排中的结果进行减枝,从而得到提速的效果。
7. 间隔查询(Intervals queries):在某些搜索用例中,例如法律和专利搜索,引入了查找单词或短语彼此相距一定距离的记录的需要。Elasticsearch 7.0中的间隔查询引入了一种构建此类查询的全新方式,与之前的方法(跨度查询 span queries)相比,使用和定义更加简单。与跨度查询相比,间隔查询对边缘情况的适应性更强。
8. 引入新的集群协调子系统。
这些新特性使得 Elasticsearch 7 在性能、可扩展性和易用性方面有了显著的提升,为用户提供了更好的搜索体验。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/344192.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Hadoop的网上购物行为大数据分析及预测系统【flask+echarts+机器学习】前后端交互

有需要本项目或者部署的系统可以私信博主,提供远程部署和讲解 本研究基于淘宝用户行为的开源数据展开大数据分析研究,通过Hadoop大数据分析平台对阿里天池公开的开源数据集进行多维度的用户行为分析,为电商销售提供可行性决策。 首先我们将大…

Paddle模型转ONNX

深度学习模型在硬件加速器上的部署常常要用到ONNX(Open Neural Network Exchange,开放神经网络交换)格式,也可以通过ONNX实现不同AI框架(如Pytorch、TensorFlow、Caffe2、PaddlePaddle等)之间的模型转换。 …

[渗透测试学习] Surveillance -HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描端口 nmap -sV -sC -v -p- --min-rate 1000 10.10.11.245扫出来两个端口,其中80端口有http服务并且重定向到surveillance.htb 那么我们添加下域名然后访问80端口,发现是企业网站尝试扫描子域名和目录无果后,用Wappalyzer插…

云防护概念及云防护作用

云防护是什么 云防护是一种网络安全技术,旨在保护云计算环境中的数据和系统免受恶意攻击和未授权访问。 云防护适用场景 一切http.https.tcp协议,如游戏、电商、金融、物联网等APP PC 网站。 云防护的主要作用 云防护的主要作用是通过搭规模庞大的云防…

NowinAndroid—2024 Android现代开发全功能应用

NowinAndroid—2024 Android现代开发全功能应用 现代Android开发全功能示例应用Now-in-Android,它是用Kotlin和Jetpack Compose开发的,功能非常强大。这个应用遵循了安卓设计和开发的最佳方法,旨在给开发者提供实用的参考资料。无论你是新手…

【控制篇 / 策略】(7.4) ❀ 04. 修改IP地理位置数据库 ❀ FortiGate 防火墙

【简介】虽然通过FortiGuard服务可以更新IP地理位置数据库,但是实际使用环境中,总会有部分IP地址不符合我们的愿景,这种情况下,可以通过修改IP地理位置数据库来达到我们的目标。 更新IP地理位置数据库 更新IP地理位置数据库是Fort…

嵌入式linux 编译qt5(以v851s为例)

本文参考Blev大神的博客:Yuzuki Lizard V851S开发板 --移植 QT5.12.9教程(群友Blev提供) - Allwinner / 柚木PI-V851S - 嵌入式开发问答社区 (100ask.net) 一. 环境准备 1.下载qt5源码:Open Source Development | Open Source …

LeetCode刷题:141. 环形链表

题目: 是否独立解答出:否,有思路,但是代码报错,参考解题代码后,修改通过 解题思路:利用循环与哈希表存储每一个节点,如果发现添加不进去说明,存在环,正常来说…

Docker的基础概念及命令

这篇主要介绍一下Docker比较重要的两个概念,镜像和容器,以及操作它们的一些常用命令。 文章目录 一、基础命令二、镜像三、容器 一、基础命令 docker -v:查看 Docker 的版本 systemctl start docker:启动docker systemctl stat…

刚买的助听器就弄丢了,不想白配,快来看看这8大助听器防丢小技巧

我们知道助听器可以让听损人士重新听到美妙的声音和享受沟通的乐趣。但是,助听器也是一种很贵的物品,如果不小心弄丢了,就会让人心痛不已。 更有甚者,有些人因为害怕丢失助听器,而不敢佩戴助听器,错过了听力…

基于SSM的驾校预约管理系统

基于SSM的驾校预约管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 详情 管理员界面 摘要 随着社会的不断发展,驾驶技能的需求逐渐增…

大数据人工智能在线实习项目:某实习网站招聘信息采集与分析

01前置课程 Python编程基础 Python网络爬虫实战 Python爬虫环境与爬虫简介 网页前端基础 简单静态网页爬取 常规动态网页爬取 模拟登录 Python数据分析与应用、可视化 数据分析概述 Numpy数值计算 Pandas统计分析与数据预处理 Matplotlib可视化 Pyecharts绘图 02师…