windows安装ElasticSearch踩坑记

ElasticSearch是一个开源的分布式搜索和分析引擎。它提供实时分布式搜索功能,可以索引和搜索大量的结构化和非结构化数据。Elasticsearch以其速度、可伸缩性和处理复杂查询的能力而闻名。它常用于日志分析、全文搜索、文档搜索和数据分析等领域。使用ElasticSearch的著名案例:

  • Netflix:Netflix使用Elasticsearch来提供其用户界面的搜索和建议功能。它帮助用户快速找到他们想要观看的内容,并提供个性化的推荐。

  • Uber:Uber使用Elasticsearch来处理其大量的实时地理位置数据。它帮助Uber在地图上显示司机和乘客的位置,并计算最佳的行程。

  • GitHub:GitHub使用Elasticsearch来提供其代码搜索功能。它帮助开发人员快速找到他们需要的代码和项目。

  • Facebook:Facebook使用Elasticsearch来支持其Graph Search功能。这个功能允许用户通过搜索来查找与他们相关的内容和人。

  • Stack Overflow:Stack Overflow使用Elasticsearch来提供其问题和答案的搜索功能。它帮助开发人员快速找到解决方案和有关编程问题的帮助。

本文记叙在Windows环境下安装相关程序出现的问题。

一、安装运行ElasticSearch

1.1安装ElasticSearch

前往官网 elasticsearch官网下载 。

1.2运行ElasticSearch

下载之后, 解压到制定文件夹。解压之后,执行bin下面的elasticsearch.bat脚本(最好在cmd窗口下执行,可以看清失败日志)

1.2.1安装出现“此时不应有 \java\jdkXX

启动之后, 发现报错,此时不应有 \java\jdk1.8.0_20

最新版本的Elasticsearch是自带jdk的,但程序还是会检查系统的jdk环境,真是多管闲事。在确定java环境没有配错的情况下,查询才知道,自己的jdk安装的路径带有空格(安装在“Program Files”子目录下)。

需要注意的是:第一次启动的时候,控制台会输出默认账户已经密码,注意保存起来。如果忘记密码,运行安装目录下的重置密码脚本

启动成功之后,在浏览器输入:http://localhost:9200/  。运行如下:

二、安装运行elasticsearch-head

2.1安装elasticsearch-head

elasticsearch-head 是一个用于浏览和管理 Elasticsearch 集群的 Web 界面工具。它提供了可视化的界面,可以展示索引、文档、节点和集群的信息,并且支持对数据进行简单的搜索和查询。elasticsearch-head 还提供了一些管理功能,如创建和删除索引、添加和删除文档等。

2.1.1源码安装

如果本地有nodejs环境,则选择从源码下载安装。

git clone git://github.com/mobz/elasticsearch-head.git

2.1.2插件下载

或者,在chrome商店下载,搜索elasticsearch-head插件(笔者chrome商店无法访问)

2.2运行elasticsearch-head

cd elasticsearch-head
npm install
npm run start
open http://localhost:9100/

2.2.1运行显示 “集群健康值: 未连接”

浏览器运行  http://localhost:9100/,显示 “集群健康值: 未连接”

打开浏览器调试模式,出现跨域受限提示 。

elasticsearch.yml配置加上允许跨域参数

# ---------------------------------- head plugin -----------------------------------
# head等插件访问es。设置参数的时候[key: value]中,冒号后面要有空格
http.cors.enabled: true
http.cors.allow-origin: "*"

2.2.2运行发现 “未授权”异常

重启之后,发现异常仍未解决, 打开浏览器调试模式,出现未授权提示 。

修改浏览器参数,把账户密码带上 http://localhost:9100/?auth_user=dev&auth_password=123456

 运行正常了!

三、安装运行kibana

Kibana是一个用于数据可视化和分析的开源工具。它是Elasticsearch的一个组件,用于在Elasticsearch索引中搜索、分析和互动式地可视化数据。Kibana提供了丰富的图表和图形,可以帮助用户更好地理解和分析数据,从而支持数据驱动的决策和洞察力的发现。Kibana还允许用户创建和保存自定义的仪表板,以便随时查看和监控数据。

kibana中文用户手册

3.1安装kibana

前往官网 kibana官网下载 。下载解压则可。

3.2运行kibana

编辑config目录下kibana.yml。修改以下配置

# =================== System: Elasticsearch ===================
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://localhost:9200"]

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
elasticsearch.username: "dev"
elasticsearch.password: "123456"

 启动bin目录下的kibana.bat脚本。浏览器输入:http://localhost:5601/

3.2.1出现超级用户不允许操作异常

 创建新账号,并授权

elasticsearch-users.bat useradd   dev
elasticsearch-users.bat roles -a superuser  dev
elasticsearch-users.bat roles -a kibana_system dev

重新启动,正常! 

四、安装使用IK分词器 

IK 分词器是一个专门针对中文文本的分词工具,用于将一段中文文本切分成单个的词语。它是基于 Java 开发的,可以与 Elasticsearch 以及其他一些中文处理工具集成使用。支持用户自定义词典,包括拓展词/停用词。

4.1安装IK分词器

官网下载  ik分词器下载

解压后,把整个文件夹复制到ES的插件目录,如下所示

4.2运行IK分词器 

4.2.1解决IKAnalyzer.cfg.xml文件访问权限不足问题

重启ES,出现异常 
access_control_exception', 'access denied ("java.io.FilePermission" “XX\ElasticSearch\elasticsearch-8.12.2\plugins\ik\config\IKAnalyzer.cfg.xml” “read”)。

一开始觉得是文件权限不够,查看之后发现文件读写权限都有。搜索之后,发现是ES的安装包路径有空格(跟前面jdk问题一样,都是因为安装在“Program Files”子目录下)。

把ES的解压目录重现换个文件位置,重启,没有出现问题。

4.2.2在线测试

浏览器输入 http://localhost:5601/,进入开发者工具。

IK分词器有两种分词模式:

  • ik_max_word:粒度细,会将文本按照最大概率匹配的方式进行分词
  • ik_smart:粒度粗,将输入文本按照规则进行切分,但不考虑词语频率

五、安装总结

第一次安装ElasticSearch开发环境是非常折腾的,总会出现各种问题,一篇安装教程不可能应付所有出现的异常问题。对了,朋友们安装的时候记得全部保持同一个版本号,避免出现版本不兼容问题。

如果使用spring-boot-starter-data-elasticsearch,也要考虑springboot与elasticsearch的兼容性。如下图所示:原文(《springboot与elasticsearch版本兼容》

笔者springboot采用的版本是2.7.18,一开始下载最新的是elasticsearch(8.12.2),最后发现使用api创建索引的时候会出现无法解析返回值(实际数据已插入)。尝试升springboot版本到3.X,出现灾难性的组件版本不兼容问题,特别是jpa,security等,无奈把elasticsearch降到7.17.14。问题得到解决。

  • 38
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jforgame

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值