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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AHU 数据库 实验五

【实验名称】 实验5 数据库的数据更新与视图管理 【实验目的】 1. 熟悉数据更新操作的概念与操作类型; 2. 熟练掌握INSERT、UPDATE、DELETE语句的基本语法; 3. 熟练运用INSERT、UPDATE、DELETE语句实现数据的插入、修改与删除…

git学习(创建项目提交代码)

操作步骤如下 git init //初始化git remote add origin https://gitee.com/aydvvs.git //建立连接git remote -v //查看git add . //添加到暂存区git push 返送到暂存区git status // 查看提交代码git commit -m初次提交git push -u origin "master"//提交远程分支 …

获取bean的几种情况总结

1. 情景一 bean 对应的类没有实现任何接口 根据 bean 本身的类型获取 bean 测试:IOC容器中同类型的 bean 只有一个 正常获取到 IOC 容器中的那个 bean 对象 测试:IOC 容器中同类型的 bean 有多个 会抛出 NoUniqueBeanDefinitionException 异常&#xf…

STM32---ADC

ADC 概念 众所周知,GPIO只能读入高电平或者低电平,那如果现有一个模拟量,该如何读取呢,比如电压的范围是0~3.3v,如何获取电压的值。就需要ADC(Analog-Digital Converter)了。ADC可以将引脚上连…

自动从Android上拉取指定文件

需求场景 利用Mac中的脚本编辑器实现从连接的Android设备中获取指定的文件。 环境 macOS Monterey 版本 12.7.1脚本编辑器adb环境(如果没有的话,可以网上搜下Mac配置adb) 实现方案 1、打开脚本编辑器; 2、新建一个脚本文件&…

视频编解码技术介绍 - 基本概念篇

第一章 视频编解码技术介绍 - 基本概念篇 文章目录 前言1. 我的疑问1.1 什么是视频编解码技术1.2 为什么会有视频编解码技术1.3 视频编解码中有哪些核心技术1.4 作为开发者需要重点了解视频编解码中的哪些技术 2. 视频编解码的历史3. 基本概念3.1 像素3.2 分辨率3.3 ppi(像素密…

详细讲解Xilinx DDR3 的MIG IP生成步骤及参数含义

前几篇文章讲解了SDRAM到DDR3各自的变化,本文讲解如何使用DDR3,在Altera的Cyclone IV开发板上一般会使用SDRAM作为存储数据的芯片,而Xilinx的S6和7000系列一般使用DDR3作为存储数据的芯片。 从SDRAM芯片内部结构分析其原理,从内部…

腾讯云8核16g服务器性能好不好?亲测并发数支持人数

腾讯云8核16G轻量服务器CPU性能如何?18M带宽支持多少人在线?轻量应用服务器具有100%CPU性能,18M带宽下载速度2304KB/秒,折合2.25M/s,系统盘为270GB SSD盘,月流量3500GB,折合每天116.6GB流量&…

AHU 人工智能实验-CCA

神经网络覆盖算法——CCA(基于Ling Zhang 和Bo Zhang论文) Abstract 在这篇文章中我将介绍基于张铃和张钹学者提出的CCA算法,并实现代码复现,给出使用的数据集,以及实验结果对比。 1. Introduction 1.1 Background 我们知道自…

外包干了6天后悔了,技术明显进步。。。。。

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

[虚拟机保护逆向] [HGAME 2023 week4]vm

[虚拟机保护逆向] [HGAME 2023 week4]vm 虚拟机逆向的注意点:具体每个函数的功能,和其对应的硬件编码的*长度* 和 *含义*,都分析出来后就可以编写脚本将题目的opcode转化位vm实际执行的指令 :分析完成函数功能后就可以编写脚本输出…

跑马灯样式

这里的公告是要做成&#xff0c;跑马灯的样式&#xff0c;文字是会移动并且隐藏掉的。 HTML&#xff1a; <div class"notice"><div class"yrr"><img src"./img/ia_100000018.png" alt"" /></div><div …

循序渐进丨MogDB 数据库特性之动态数据脱敏机制

数据脱敏是行之有效的数据库隐私保护方案之一&#xff0c;可以在一定程度上限制非授权用户对隐私数据的窥探。动态数据脱敏机制是一种通过定制化脱敏策略来实现对隐私数据保护的技术&#xff0c;可以在保留原始数据的前提下有效地解决非授权用户对敏感信息访问的问题。当管理员…

Fastjson 1.2.24 反序列化导致任意命令执行漏洞复现(CVE-2017-18349)

写在前面 CVE-2017-18349 指的是 fastjson 1.2.24 及之前版本存在的反序列化漏洞&#xff0c;fastjson 于 1.2.24 版本后增加了反序列化白名单&#xff1b; 而在 2019 年&#xff0c;fastjson 又被爆出在 fastjson< 1.2.47 的版本中&#xff0c;攻击者可以利用特殊构造的 …

js【详解】async await

为什么要使用 async await async await 实现了使用同步的语法实现异步&#xff0c;不再需要借助回调函数&#xff0c;让代码更加易于理解和维护。 (async function () {// await 必须放在 async 函数中try {// 加载第一张图片const img1 await loadImg1()// 加载第二张图片co…

xss.haozi.me靶机 通关

0x00 没有任何过滤可以直接注入<img srcx οnerrοralert(1)> 0x01 使用了testarea标签将我们的输入内容以普通的字符串进行展示 但是我们可以将标签进行闭合 </textarea><img srcx οnerrοralert(1)> 0x02 我们依然可以先闭合之后添加属性a" οncl…

Arcgis小技巧【20】——属性表有东西,缩放至图层却看不到?

一、问题分析 这是一个看似正常的要素类数据&#xff0c;打开它的属性表&#xff0c;里面有一行要素&#xff1a; 说明这不是空数据。 回到地图界面&#xff0c;在图层列表中&#xff0c;右键单击&#xff0c;点击【缩放至图层】。 使用过这个功能的应该知道&#xff0c;点击…

数据结构奇妙旅程之二叉平衡树

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

数据结构入门篇 之 【单链表】的实现讲解(附单链表的完整实现代码以及用单链表完成通讯录的实现代码)

虽然封面是顶针&#xff0c;但是我们还是要好好学习❀ 一.单链表 1.单链表的概念 2.单链表的结构 3.单链表的实现 1&#xff09;.尾插函数 SLTPushBack 2&#xff09;.打印函数 SLPrint 3&#xff09;. 头插函数 SLTPushFront 4&#xff09;.尾删函数 SLTPopBack 5&am…

docker容器的数据卷

1配置数据卷 docker run --namen01 -d --restartalways -p 80:80 -v /qy172/data/nginx/html:/usr/share/nginx/html nginx 2Docker应用部署 1搜索mysql镜像 docker search mysql 2拉取mysql镜像 docker pull mysql:5.6 3创建容器&#xff0c; 设置端口映射、目录映射 d…