找到问题的解决办法了么?

社区日报 第1442期 (2022-07-05)

社区日报God_lockin 发表了文章 • 0 个评论 • 973 次浏览 • 2022-07-05 20:43 • 来自相关话题



1. 拿Elasticsearch做文本推荐(需要梯子)
https://jaganlal.medium.com/do ... 3376e

2. 深入拆解ES的freeze层(需要梯子)
https://joshua-robinson.medium ... 9dfc4

3. ES 的那些趣闻与入门(需要梯子)
https://servian.dev/elasticsea ... 52c5a

编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili

Elasticsearch大数据下怎么去重

Elasticsearchxuhuipeng 回复了问题 • 4 人关注 • 4 个回复 • 1271 次浏览 • 2022-07-08 17:52 • 来自相关话题

大数据量的情况下next_doc耗时极高怎么优化

ElasticsearchCharele 回复了问题 • 2 人关注 • 2 个回复 • 1899 次浏览 • 2022-07-06 15:14 • 来自相关话题

社区日报 第1441期 (2022-07-04)

社区日报yuebancanghai 发表了文章 • 0 个评论 • 957 次浏览 • 2022-07-04 14:45 • 来自相关话题

1. Elasticsearch 写入过程分析
   https://blog.csdn.net/weixin_4 ... 84035

2. Elasticsearch 电商搜索召回
   https://zhuanlan.zhihu.com/p/511459586

3. Elasticsearch 如何轻松理解召回与精确率
   https://www.zhihu.com/question ... 48790

编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

招商全面启动| 2022国际开源节(IOSF)向您发来合作邀请!(请注意时间地点有变更)

活动OSTech 发表了文章 • 0 个评论 • 1401 次浏览 • 2022-07-03 23:19 • 来自相关话题


国际开源节.jpg


国际开源节合作伙伴.jpg

 

Elasticsearch8.2 使用snapshot备份能力

Elasticsearchzmc 发表了文章 • 0 个评论 • 2388 次浏览 • 2022-07-03 23:19 • 来自相关话题

背景

1.有个向量搜索相关需求,选择使用ES8版本,并且在k8s环境中容器化部署;
2.考虑核心程度以及成本问题,不需要准备多数据中心的备份集群,为了保证数据可靠性,预期使用snapshot备份能力;

选型

ES支持将snapshot存储到各种存储产品,例如 fs(本地)、S3(或者ceph)、hdfs等。
1.OSS,考虑到已经和阿里云OSS有合作,且支持S3接口 -----> 测试
2.ceph,私有云部署,不好控制容量,成本偏高 --------> 暂不考虑
3.hdfs,私有云部署,不好控制容量,成本偏高,需要安装插件 -----> 暂不考虑
4.fs,本地,由于团队还在做juicefs产品,可以juicefs挂载到本地目录,ES snapshot 存到本地目录即可完成上传到公有云OSS ------> 测试

snapshot直接从ES传到OSS

1.创建账号、bucket,获取ak/sk;



2.ES容器实例如何加载密钥库

通过官方文档可知需要执行如下命令:将密钥设置到ES密钥库
https://www.elastic.co/guide/e ... .html
<br /> bin/elasticsearch-keystore add s3.client.default.access_key<br /> bin/elasticsearch-keystore add s3.client.default.secret_key<br />
考虑到容器环境不允许直接进入pod执行命令,secret也不允许直接写死到镜像中,则需要在entrypoint.sh中设置完成该命令。
最终方案如下:

文章image1.png


1.在k8s环境中创建secret,记录ak/sk信息
2.pod创建时候mount到指定目录
3.container(ES)启动的时候读取指定目录信息,并执行elasticsearch-keystore命令

3.具体操作

0.安装 repository-s3 插件
略(ES8版本内置了该插件,无需安装)

文章image2.png


1.创建secret
```
kubectl apply -f secret.yml

cat secret.yml

apiVersion: v1
kind: Secret
metadata:
namespace: uat-es
name: es-snapshot-oss-secret
type: Opaque
data:
access_key: xxx(注意base64编码)
secret_key: xxx(注意base64编码)
<br /> 2.修改crd的yaml,将该secret mount到指定目录<br />

定义secret

volumes:

  • name: "oss-secret"
    secret:
    secretName: "es-snapshot-oss-secret"

    指定容器挂载选项

    containers:
    ...
    volumeMounts:

  • mountPath: "/mnt/secret/oss"
    name: "oss-secret"
    readOnly: true
    <br /> 3.镜像修改<br /> 注:Dockerfile中最后是通过docker-entrypoint.sh完成ES实例的启动<br /> ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]<br />

    docker-entrypoint.sh 增加如下内容

    /usr/share/elasticsearch/bin/elasticsearch-keystore create
    chown root:root /usr/share/elasticsearch/config/elasticsearch.keystore
    echo "$(</mnt/secret/oss/access_key)" | /usr/share/elasticsearch/bin/elasticsearch-keystore add --stdin s3.client.default.access_key
    echo "$(</mnt/secret/oss/secret_key)" | /usr/share/elasticsearch/bin/elasticsearch-keystore add --stdin s3.client.default.secret_key
    chown elasticsearch:elasticsearch /usr/share/elasticsearch/config/elasticsearch.keystore
    ```
    1.可以看到先执行了 bin/elasticsearch-keystore create 命令,因为发行版的ES中config目录并没有elasticsearch.keystore文件,需要通过 bin/elasticsearch-keystore create 命令生成密钥库(即 config/elasticsearch.keystore 文件);

    文章image3.png


    注:如果不create,可以发现pod中最后也会生成密钥库,并且含有一个 seed 的密钥信息。该部分是ES启动时创建的,所以在启动之前必须create,否则执行bin/elasticsearch-keystore add 会触发一个密钥库不存在的异常;
    2.可以看到先通过 chown root:root xxx 命令将config/elasticsearch.keystore文件的用户和group都设置成了root,执行完成命令后将其改回elasticsearch,因为bin/elasticsearch-keystore命令执行时对密钥库的权限有要求,pod启动是root用户,所以必须将该文件改成root权限,后续改成elasticsearch用户是为了保证container(ES)启动时的权限,ES的启动是使用elasticsearch用户;
    注:该方式是在ES启动之前先将密钥加载到密钥库,ES提供另一个方式,允许在ES启动后执行 elasticsearch-keystore add 命令后再 reload,也能生效,这里不讨论。

    4.测试创建repository、snapshot命令

    ```

    创建repository

    注:对象存储OSS不允许出现对象name中带 “/” ,所以 base_path 中 “-” 表示层级

    PUT _snapshot/zmc_test_oss_repository
    {
    "type": "s3",
    "settings": {
    "bucket": "es-snapshot",
    "endpoint": "<a href="http://dataplatform.xxxx.com"" rel="nofollow" target="_blank">http://dataplatform.xxxx.com",
    "base_path":"user-elasticsearch-uat-1067"
    }
    }
    <br />

    创建snapshot

    PUT /_snapshot/zmc_test_oss_repository/snapshot_1?wait_for_completion=true
    {
    "indices": "zmc",
    "ignore_unavailable": true,
    "include_global_state": false,
    "metadata": {
    "taken_by": "zmc",
    "taken_because": "backup test"
    }
    }

    该命令异常:

    amazon_s3_exception: Aws MultiChunkedEncoding is not supported. (Service: Amazon S3; Status Code: 400; Error Code: NotImplemented; Request ID: xxxxx; S3 Extended Request ID: es-snapshot.dataplatform.xxx.com
    ```

    5.测试结果

    很不幸,OSS暂时不支持MultiChunkedEncoding;(和OSS同学沟通后发现是 主集群暂时不支持,海外小集群已经支持该接口,后续会推到主集群)
    这条路无法走通,继续测试其他方案;

    snapshot存本地后通过juicefs上传OSS

    juicefs是一个分布式文件系统,简言之就是通过juicefs程序可以将远程对象存储与本地目录关联,将文件写入本地即可上传到对象存储。该产品对ES而言比较适合作为snapshot的存储以及ES冷热分离架构中的冷数据存储。
    juicefs有一定的维护成本,这里仅提供一种snapshot备份设计的新思路。对ES8而言更简要的方案可以考虑hdfs、ceph以及亚马逊的s3对象存储,弊端主要在成本和容量规划,体量较小或者公司支持较好则可以忽略。

    预期架构如下:

    文章image4.png


    可以看到从使用层面看ES只需将snapshot存在本地目录即可完成上公有云操作;
    juicefs部分只需从运维层面考虑,将进程打到镜像中、或者通过CSI、静态PVC的方式均可实现。图中元数据引擎是juicefs架构中的一环,从ES使用的角度看可以忽略;
    此处juicefs可以替换成任何分布式共享存储。
    ----------------------------end---------------------------------

社区日报 第1440期 (2022-07-02)

社区日报jingli 发表了文章 • 0 个评论 • 973 次浏览 • 2022-07-03 00:29 • 来自相关话题

1、Canva 关于从 Solr 迁移至 Elasticsearch 的实践分享
https://medium.com/canvatech/m ... 68c68(需要梯子)
2、Elasticsearch 获取两个索引数据不同之处的四种方案
https://mp.weixin.qq.com/s/TIvqK8wBYSsPuTyi8LHU4w
3、Filebeat+Kafka+数据处理服务+Elasticsearch+Kibana+Skywalking日志收集系统
https://juejin.cn/post/7109412804863459359
 
编辑:李静
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

社区日报 第1439期 (2022-07-01)

社区日报laoyang360 发表了文章 • 0 个评论 • 946 次浏览 • 2022-07-01 17:11 • 来自相关话题


1、使用 Elasticsearch 进行实时预输入搜索
https://towardsdatascience.com ... b31a1
2、视频:使用 Elasticsearch 8 的 k-Nearest Neighbors 丰富电子商务搜索(梯子)
https://www.youtube.com/watch?v=YthR1ROX2g8
3、Elasticsearch 8.3 新特性概览
https://www.elastic.co/guide/e ... .html
https://www.elastic.co/cn/blog ... 8-3-0

编辑:铭毅天下
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili

Observability:如何使用 Elastic Agents 把定制的日志摄入到 Elasticsearch 中

Elasticsearchliuxg 发表了文章 • 0 个评论 • 1116 次浏览 • 2022-07-01 08:46 • 来自相关话题

在我之前的文章 “Observability:使用 Elastic Agent 来摄入日志及指标 - Elastic Stack 8.0”,我详细地描述了如何安装 Elasticsearch,Stack 及 Elastic Agents 来采集系统日志及指标。很多开发者可能会有疑问,在我们的实际使用中,我们更多的可能是需要采集定制的应用日志,而不是系统日志。那么在这个时候,我们该如何使用 Elastic Agents 来把这些日志摄入呢?在以前的系统中,我们可以使用如下的几种方式来采集日志:

原文链接:https://elasticstack.blog.csdn ... 36634
在我之前的文章 “Observability:使用 Elastic Agent 来摄入日志及指标 - Elastic Stack 8.0”,我详细地描述了如何安装 Elasticsearch,Stack 及 Elastic Agents 来采集系统日志及指标。很多开发者可能会有疑问,在我们的实际使用中,我们更多的可能是需要采集定制的应用日志,而不是系统日志。那么在这个时候,我们该如何使用 Elastic Agents 来把这些日志摄入呢?在以前的系统中,我们可以使用如下的几种方式来采集日志:

原文链接:https://elasticstack.blog.csdn ... 36634

社区日报 第1438期 (2022-06-30)

社区日报Se7en 发表了文章 • 0 个评论 • 1078 次浏览 • 2022-06-30 09:15 • 来自相关话题

1.Elasticsearch 在地理信息空间索引的探索和演进
https://mp.weixin.qq.com/s/y33FQjFN-f58h1_TIwgMAw
2.Elasticsearch High Level Rest Client偶现访问集群超时的问题定位与解决
https://cloud.tencent.com/deve ... 43055
3.Elasticsearch 的 30 个调优最佳实践!
https://zhuanlan.zhihu.com/p/406264041

编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili

社区日报 第1437期 (2022-06-29)

社区日报kin122 发表了文章 • 0 个评论 • 970 次浏览 • 2022-06-29 21:17 • 来自相关话题

1. Elasticsearch:如何实现对 emoji 表情符号进行搜索
https://blog.csdn.net/UbuntuTo ... 61636
2. 关于 ES 流量峰值的调优(需要梯子)
https://medium.com/driven-by-c ... 08a1d
3. 深入理解lucene的IndexWriter
https://www.alibabacloud.com/b ... 94673


编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

两表联合查询问题,表数据非一一对应

回复

Elasticsearchwlhczyq 发起了问题 • 2 人关注 • 0 个回复 • 1851 次浏览 • 2022-06-29 09:04 • 来自相关话题

社区日报 第1436期 (2022-06-28)

社区日报God_lockin 发表了文章 • 0 个评论 • 1172 次浏览 • 2022-06-28 15:39 • 来自相关话题


1. 在GCP上用ELKB全家桶搞一个日志系统?(需要梯子)
https://blog.searce.com/automa ... 90439
2. 我想在k8s上部署elk该怎么做?(需要梯子)
https://medium.com/%40akash18/ ... 5acbd
3. 手把手教你把kafka和ES整合起来(需要梯子)
https://mukherjee-soumya.mediu ... d966b
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
 

多维点值用在哪里呢?

Elasticsearchxxwen1217 回复了问题 • 2 人关注 • 1 个回复 • 1241 次浏览 • 2022-08-19 10:20 • 来自相关话题

社区日报 第1435期 (2022-06-27)

社区日报yuebancanghai 发表了文章 • 0 个评论 • 1118 次浏览 • 2022-06-27 12:07 • 来自相关话题

1. Elasticsearch 线程池与队列问题
   https://blog.csdn.net/laoyang3 ... 67168

2. Elasticsearch object nested join 数据类型
   https://www.jianshu.com/p/04cdebd14ff7

3. Elasticsearch 性能调优
   https://zhuanlan.zhihu.com/p/55092525

编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili