windows安装ElasticSearch踩坑记

news2024/11/16 19:35:37

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AHU 算法分析 实验四 动态规划

实验四:动态规划 实验目的 • 理解动态规划的基本思想,理解动态规划算法的两个基本要素最 优子结构性质和子问题的重叠性质。 • 熟练掌握典型的动态规划问题。 • 掌握动态规划思想分析问题的一般方法,对较简单的问题能正确 分析&#x…

Day31:安全开发-JS应用WebPack打包器第三方库JQuery安装使用安全检测

目录 打包器-WebPack-使用&安全 第三方库-JQuery-使用&安全 思维导图 JS知识点: 功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等 技术:原生开发&…

章六、集合(1)—— 概念、API、List 接口及实现类、集合迭代

零、 关闭IDEA调试时自动隐藏空元素 一、 集合的概念 存储一个班学员信息,假定一个班容纳20名学员 当我们需要保存一组一样(类型相同)的元素的时候,我们应该使用一个容器来存储,数组就是这样一个容器。 数组有什么缺…

简析内部审计数字化转型的方法和路径

简析内部审计数字化转型的方法和路径 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据…

基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法(含matlab代码)

目录 主要内容 部分代码 结果一览 下载链接 主要内容 程序解决的是一个基于合作博弈的风光氢能源交易的问题,首先,考虑主体间的电能交易建立各主体的优化运行模型, 然后基于纳什谈判理论建立风–光–氢多主体合作运行模型&…

Springboot+vue的高校危化试剂仓储系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的高校危化试剂仓储系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller&#x…

(003)SlickEdit Unity的补全

文章目录 步骤XML知识点 附录 步骤 1.下载 unity 源码。 2.将自定义文件 MonoBehaviour.cs 放到解压后的项目里面: using System;namespace UnityEngine {public partial class MonoBehaviour{public virtual void Awake(){throw new NotImplementedException();…

Axure原型设计项目效果 全国职业院校技能大赛物联网应用开发赛项项目原型设计题目

目录 前言 一、2022年任务书3效果图 二、2022年任务书5效果图 三、2022年国赛正式赛卷 四、2023年国赛第一套样题 五、2023年国赛第二套样题 六、2023年国赛第三套样题 七、2023年国赛第四套样题 八、2023年国赛第七套样题 九、2023年国赛正式赛题(第八套…

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言:今天是学习 flink 的第 14 天啦!学习了 flink 高级特性和新特性之数据类型及 avro 序列化,主要是解决大数据领域数据规范化写入和规范化读取的问题,avro 数据结构可以节约存储空间,本文中结合企业真…

RabbitMQ - 06 - Topic交换机

目录 控制台创建队列与交换机 编写消费者方法 编写生产者测试方法 结果 Topic交换机与Direct交换机基本一致 可参考 这篇帖子 http://t.csdnimg.cn/AuvoK topic交换机与Direct交换机的区别是 Topic交换机接收的消息RoutingKey必须是多个单词,以 . 分割 Topic交…

练习01-登录注册(简单)

一、用户登录/注册实现 综合前面学的知识来实现简单的注册登录功能 1.准备工作 注册登录页面 数据库,数据表 mybatis 坐标引入,MySQL驱动 配置 映射文件 用户实体类 Servlet代码 2.页面 不想手写的可以看博主IT黄大大【带源码】 【炫酷登录界…

贝叶斯优化CNN-GRU回归预测(matlab代码)

贝叶斯优化CNN-GRU回归预测matlab代码 贝叶斯优化方法则采用贝叶斯思想,通过不断探索各种参数组合的结果,根据已有信息计算期望值,并选择期望值最大的组合作为最佳策略,从而在尽可能少的实验次数下达到最优解。 数据为Excel股票…

PostgreSQL数据优化——死元组清理

最近遇到一个奇怪的问题,一个百万级的PostgreSQL表,只有3个索引。但是每次执行insert或update语句就要几百ms以上。经过查询发现是一个狠简单的问题,数据库表死元组太多了,需要手动清理。 在 PG 中,update/delete 语句…

每日五道java面试题之springMVC篇(二)

目录: 第一题. 请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?第二题. MVC是什么?MVC设计模式的好处有哪些?第三题. 注解原理是什么?第四题. Spring MVC常用的注解有哪些?第五题. SpingMvc中的…

【数据结构初阶 9】内排序

文章目录 🌈 1. 直接插入排序🌈 2. 希尔排序🌈 3. 简单选择排序🌈 4. 堆排序🌈 5. 冒泡排序🌈 6. 快速排序6.1 霍尔版快排6.2 挖坑版快排6.3 双指针快排6.4 非递归快排 🌈 7. 归并排序7.1 递归版…

用户管理【MySQL】

文章目录 查看用户信息创建用户修改密码删除用户授予权限收回权限 查看用户信息 在名为mysql的数据库中有一个表user维护着 MySQL 的用户信息。 其中: user: 表示该用户的用户名。host: 表示该用户可以从哪个主机登录,localhost…

了解飞行时间传感

简介:测距技术 人类和许多动物利用各种感官来测量与其他物体的距离。视觉是最常用的。在晚上,触觉可以用来感受其他物体的存在——当然触觉对于视障人

读算法的陷阱:超级平台、算法垄断与场景欺骗笔记06_共谋(下)

1. 博弈论 1.1. 当市场竞争对手之间普遍存在着误解和不信任情绪时,从长远来看,他们一半时间是在合作,另一半时间则是在背叛承诺 1.2. 当一方越了解对手,或者说可以更好地掌握对方的战略性行为时,他才可能找到展开合作…

b树(一篇文章带你 理解 )

目录 一、引言 二、B树的基本定义 三、B树的性质与操作 1 查找操作 2 插入操作 3 删除操作 四、B树的应用场景 1 数据库索引 2 文件系统 3 网络路由表 五、哪些数据库系统不使用B树进行索引 1 列式数据库 2 图形数据库 3 内存数据库 4 NoSQL数据库 5 分布式数据…

理解linux进程

基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体 windows上的进程 由上图可以看出在OS中进程可以同时存在并且非常多 大概理解进程 进程内核task_s…