elasticsearch [[node.max_local_storage_nodes] (was [1])
yimusidian 回复了问题 • 2 人关注 • 2 个回复 • 4435 次浏览 • 2022-03-25 16:07
您好 能请教下中文排序的问题吗
medcl 回复了问题 • 2 人关注 • 1 个回复 • 1061 次浏览 • 2022-04-02 13:23
ES数据迁移问题,从两台服务器迁移到另外两台上
tongchuan1992 回复了问题 • 2 人关注 • 1 个回复 • 1741 次浏览 • 2022-03-14 19:01
Elastic日报 第1344期 (2021-03-12)
taoxiyang 发表了文章 • 3 个评论 • 1155 次浏览 • 2022-03-12 20:54
https://www.alibabacloud.com/h ... 2.htm
2. 创建Elasticsearch数据清洗任务,将RavenDB中的数据处理到Elasticsearch
https://ravendb.net/docs/artic ... earch
3. 用DbVisualizer管理Elasticsearch的数据
https://www.dbvis.com/database/elasticsearch/
编辑:陶希阳
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
有了这两个小脚本,不需要再傻乎乎地手动安装 Elasticsearch了
spoofer 发表了文章 • 0 个评论 • 2687 次浏览 • 2022-03-11 19:40
在学习 ES 前一般都需要安装 ES,虽然 ES 可以开箱即用,但如果要学习分布式特性的时候,需要安装多个节点,这个时候还是有点工作量的。下面提供两个小脚本,一个是在 Ubuntu 中安装 3 节点的 ES 伪集群,一个是在 docker 中安装3节点 ES 集群。除了安装 ES 外,脚本还提供了对应版本的 Kibana、Cerebro 0.9.4 的安装。
1、在 Ubuntu 中安装 ES 7.13
这里我们采取下载 ES 安装包并且解压安装的方式,并没有走 Ubuntu apt 的方式。ES 的安装非常简单,这里先献上[安装脚本](https://gitee.com/dgl/es-bookl ... rEs.sh)。
下面介绍比较重要的配置项:
- discovery.seed_hosts 在开箱即用的情境下(本机环境)无需配置,ES 会自动扫描本机的 9300 到 9305 端口。一旦进行了网络环境配置,这个自动扫描操作就不会执行。discovery.seed_hosts 配置为 master 候选者节点即可。如果需要指定端口的话,其值可以为:["localhost:9300", "localhost:9301"]
- cluster.initial_master_nodes 指定新集群 master 候选者列表,其值为节点的名字列表。如果配置了 node.name: my_node_1,所以其值为 ["my_node_1"],而不是 ip 列表 !
- network.host 和 http.port 是 ES 提供服务的监听地址和端口,线上一定不能配置 ip 为 0.0.0.0,这是非常危险的行为!!!
怎么样来理解这个 discovery.seed_hosts 和 cluster.initial_master_nodes 呢?
cluster.initial_master_nodes 是候选者列表,一般我们线上环境候选者的数量比较少,毕竟是用来做备用的。而且这个配置只跟选举 master 有关,也就是跟其他类型的节点没有关系。就算你有100个数据节点,然后经常增加或者剔除都不需要动这个列表。
discovery.seed_hosts 这个可以理解为是做服务或者节点发现的,其他节点必须知道他们才能进入集群~ 一般配置为集群的master 候选者的列表。
但是这些 master 候选者(组织联系人)可能经常变化,那怎么办呢?这个配置项除了支持 ip 外还支持域名 ~所以可以用域名来解决这个问题,其他节点的配置上写的是域名,域名解析到对应的 ip,如果机器挂了,新的节点 ip 换了,就把域名解析到新的ip即可,这样其他节点的配就不用修改了。所以非 master 候选节点要配 discovery.seed_hosts (组织联系人)
除了修改 ES 服务配置外,还需要配置 JVM 的配置,我们主要配置服务占用的堆内存的大小。JVM 配置需要以下几点: - 这两个 jvm 的配置必须配置一样的数值。启动时就分配好内存空间,避免运行时申请分配内存造成系统抖动。
- Xmx不要超过机器内存的 50%,留下些内存供 JVM 堆外内存使用
- 并且Xmx不要超过 32G。建议最大配置为 30G。接近 32G,JVM 会启用压缩对象指针的功能,导致性能下降。具体可以参考:[a-heap-of-trouble](https://www.elastic.co/cn/blog/a-heap-of-trouble)。
安装成功后,可以访问:
ES:localhost:9211
Kibana: localhost:5601
cerebro: localhost:9800
2、在docker 中安装 ES 7.13
在做一切工作之前,我们必须安装 docker。如果你已经安装好了 docker、docker-compose,可以访问我为你准备的 [docker-compose.yaml](https://gitee.com/dgl/es-bookl ... e.yaml) 文件。
如果你没有安装 docker,完整的教程可以参考[在 docker 中安装 ES 文档](https://gitee.com/dgl/es-bookl ... bro.md)。
下载此文件,将文件保存为 docker-compose.yaml 后,进入这个文件的目录,执行以下指令即可:
<br /> docker-compose up<br />
如果你没有下载镜像文件,docker-compose 会自动帮你下载镜像,并且启动容器。
如果 docker-compose 启动失败,说是无权限链接 docker 的话,其报错如下:
<br /> Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: <br /> <br /> Get " <br /> <br /> dial unix /var/run/docker.sock: connect: permission denied<br />
可以运行以下指令临时修改:
<br /> sudo chmod 666 /var/run/docker.sock<br /> <br />
其原因是因为你的 docker 用了 root 启动了。
最后可以访问:
cerebro:ip:9000
Kibana:ip:5601
Elasticsearch: ip:9200,ip:9202,ip:9203
其他学习资料
[创建自己的 ES Docker Image](https://www.elastic.co/cn/blog ... search)
[在 docker image 中安装 Elasticsearch 插件](https://www.elastic.co/cn/blog ... gement)
[一个开源的 ELK docker-compose 配置](https://github.com/deviantony/docker-elk)
[docker 中安装 ES 7.13](https://www.elastic.co/guide/e ... r.html)
[docker 中安装 Kibana 7.13](https://www.elastic.co/guide/e ... r.html)
最后附上[我写的小册](https://juejin.cn/book/7054754754529853475),欢迎刚入门的朋友来订阅~
_update_by_query 批量更新还有哪些坑?
hyycy140213 回复了问题 • 3 人关注 • 3 个回复 • 2743 次浏览 • 2022-03-31 14:32
Ingest处理的问题
tongchuan1992 回复了问题 • 2 人关注 • 1 个回复 • 766 次浏览 • 2022-03-09 13:46
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
locatelli 回复了问题 • 3 人关注 • 2 个回复 • 1903 次浏览 • 2022-03-11 07:23
关于集群配置node.master、node.data问题
spoofer 回复了问题 • 4 人关注 • 3 个回复 • 1318 次浏览 • 2022-03-09 16:50
elasticsearch6.x通过命令查索引文档总数 与 cerebro界面和kibana界面上看到的索引文档总数不一样
caster_QL 回复了问题 • 4 人关注 • 3 个回复 • 1698 次浏览 • 2022-03-04 15:18
关于ES聚合查询中的collect模式深度优先和广度优先算法的一些疑问
Charele 回复了问题 • 4 人关注 • 2 个回复 • 1379 次浏览 • 2022-03-16 13:00
熬了几个月的夜,我的ES小册终于发布啦,适合初学者或者有点基础的同学学习~
spoofer 发表了文章 • 2 个评论 • 2982 次浏览 • 2022-03-01 12:19
本小册分为 4 个部分,将由浅入深为你介绍 Elasticsearch 7.x 中的核心技术。主要知识点包括基本概念、常用 API 的使用实践、核心特性的底层原理与思想、集群管理与调优、源码阅读等知识。整个小册的思维导图如下:
你会学到什么?
本小册将会从非常浅显的概念开始与你学习 Elasticsearch 7.x 中的常用 API,在熟悉使用 Elasticsearch 后,我们将会对 Elasticsearch 中部分重要的特性、概念的底层实现原理进行介绍。在了解这些原理后,我们将学习如何部署、运维线上小规模集群,并且与你一起搭建一个简单的 ELK 系统。最后我们会搭建源码阅读的环境并且与你一起阅读部分模块的源码。
所以,通过本小册 4 大部分的学习,你可以收获:
- 熟练使用 Elasticsearch 来解决搜索需求;
- 强化 Elasticsearch 集群运维、调优的能力;
- 通晓 Elasticsearch 核心技术的底层实现;
- 牢固掌握源码阅读与调试的技巧。
也就是说,学完本课程后,你不仅可以掌握 ElasticSearch 相关的技术,还可以帮助你根据业务的特点快速构建出相应的搜索业务、数据分析、日志系统。真正实现学以致用。
适宜人群
- 对 Elasticsearch 或搜索引擎感兴趣的同学。
- 有了解和使用过 Elasticsearch,现在想进一步了解 Elasticsearch 的同学。
- 准备从事数据搜索、分析相关工作的同学。
- 从事 Elasticsearch 集群运维的同学。
关于nested索引的问题
Ombres 回复了问题 • 4 人关注 • 2 个回复 • 1268 次浏览 • 2022-03-01 10:47
搜索框关键字怎么同时匹配text字段和keyword字段?
tongchuan1992 回复了问题 • 3 人关注 • 3 个回复 • 1157 次浏览 • 2022-02-25 11:07
并行多次对es发起同样条件的查询请求,es如何处理?
zhuangzilian 回复了问题 • 4 人关注 • 3 个回复 • 1599 次浏览 • 2022-03-01 14:46