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还允许用户创建和保存自定义的仪表板,以便随时查看和监控数据。

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脚本

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/,进入开发者工具。

五、安装总结

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

相关推荐
shark_西瓜甜9 分钟前
shark云原生-日志体系-ECK
elasticsearch·docker·云原生
Elastic 中国社区官方博客20 分钟前
Elasticsearch:Ingest architectures - 摄取架构
大数据·elasticsearch·搜索引擎·架构·全文检索
分享者花花1 小时前
恢复出厂设置后如何从 iPhone 恢复数据
windows·macos·ios·智能手机·excel·cocoa·iphone
苦藤新鸡3 小时前
用网络编程完成windows和linux跨平台之间的通信(服务器)
linux·网络·windows
雪 狼6 小时前
unity对于文件夹的操作
windows·unity·游戏引擎
水蓝烟雨10 小时前
Elasticsearch基本操作
大数据·elasticsearch·搜索引擎
爱分享的码瑞哥13 小时前
Rust 进阶教程
开发语言·windows·rust
初学️计算15 小时前
网络协议与标准
运维·服务器·windows
猴子微胖15 小时前
ElasticSearch常用操作
大数据·elasticsearch·jenkins
ac-er888816 小时前
win10使用小技巧二
windows·技巧·虚拟键盘·防止复制·安装字体