写点什么

elasticsearch 各种问题总结

  • 2022 年 4 月 30 日
  • 本文字数:1074 字

    阅读完需:约 4 分钟

[](()[阿里云 elasticsearch 试用套路](()


阿里云的 elasticsearch 可以给用户提供试用的机会,这一点还算是比较大方。


但是,并没有领取页面,你必须通过 elasticsearch 的购买页面来 0.00 元购买。


https://data.aliyun.com/product/elasticsearch


通过上面链接进入到够买页面,节点必须选择“3”,购买价格才会变成 0.00 元(仅新用户)!


[](()[阿里云 elasticsearch 白名单问题](()


即:通过客户端访问 elasticse 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 arch,但配置为:0.0.0.0/0 默认无效,需参照下面配置!



[](()[阿里云免费试用 elasticsearchYAML 配置开启](()


注意点:阿里云虽然可以领取免费的 elk,但配置是比较低的,为了能顺畅体验,建议 YML 参数配置全部开启


问题:


  1. 如果不开启自动创建索引的话,通过 java、python 直接 PUT 文档会报错哦

  2. YML 参数配置需要重启,已确认重启一次至少 2 到 4 个小时(免费,所以你懂得)



[](()[阿里云 elasticsearch 无法查询到中文结](()


原因:倒排索引将数据分成不同的分词,用这些分词词来匹配数据查询(可能我理解的不对),


但默认的词库没有中文相关的分词。


解决方法:网上查找中文分词词库,并上传到阿里云的插件中(我用的是热更新)



[](()[elasticsearch 无法启动](()


elasticsearch 出于安全考虑,不允许使用 root 用户启动。


解决方法:?


1. 创建组 elasticsearch,并在组 elasticsearch 下创建用户 elasticsearchUser


2. elasticsearch 所有目录的所有者必须是 elasticsearchUser


3. 进入/elasticsearch/bin 目录下,使用 elasticsearchUser 用户执行 ./elasticsearch 启动 elasticsearch



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


系统级别默认的最大打开文件数太小,也可能导致 elasticsearch 无法启动!


解决方法:/etc/sysctl.conf 文件中最后一行添加:vm.max_map_count=655300


执行“sudo sysctl -p”使配置生效



[](()[ES 日期校验导致 java 或者 python 迁移数据到 elasticsearch 异常中断](()


场景:通过 java API 迁移数据时,发现经常自动中断,更换为 python API 迁移数据,问题同样发生,且无明显规律!


通过日志查看到每次断开时插入的最后一条数据和下一条数据,发现只要数据中包含日期,就会产生中断!


原因:在一开始设置“mapping”时,数据的类型被设置成文本类型,当数据中存在“日期类型”的数据,


ES 就会认为插入类型错误,实际上,数据就是文本类型,只不过数据中间包含了日期。


解决方案:关闭日期校验



[](()[docker 构建 elasticsearch 集群无法通过外网访问](()

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
elasticsearch各种问题总结_Java_爱好编程进阶_InfoQ写作社区