比亲妈都细,从0-1手把手教你搭建Elasticsearch+kibana+IK分词器

news2025/1/11 14:54:16

前言:

       最近用到了Elasticsearch+kibana+IK分词器,但是基本上能搜到的所有教程、视频都用的是老版本的,奈何我又空有一身反骨,我就不爱用老版本的,结果就一个一个的踩坑。

       Elasticsearch是我用过的最坑的软件之一了,我从来没有见过安装这么繁琐这么麻烦,平均报错三个起的软件。

       折腾了一天,搞的我直骂娘,差点儿就在淘宝上找外包安装这软件,要不是太贵(只装Elasticsearch 就要90RMB)我就装了……

       幸好我有一身反骨,我就不信自己搞不定,研究了一天头发都秃了终于搞定了,为了避免大家遇到跟我一样的坑,特意写个教程出来,就让我做个布道者扒~骄傲ing~

       创作不易,麻烦多多点赞!!爱你们!!


安装环境及版本:

Elasticsearch-8.7.0-linux-x86_64

kibana8.7.0  Windows-x86_64

IK分词器 8.7.0

安装前提:

你的Windows电脑需要装好xshell和xftp,不然安装会很麻烦的!!先把这俩生产力工具搞好!!不会装的随便搜一下,教程一大把。

我的Elasticsearch和IK分词器是装在Linux虚拟机上的!kibana是装在Windows系统上的!这样方便用!!

需要注意的是,Elasticsearch和kibana和IK分词器的版本必须都是相同的!!!不然就会报错!!别问我怎么知道的!!他甚至连0.1的版本不同都兼容不了 !!

以及,老版本和新版本的配置完全tmd不一样!在新版本用老版本的配置会报错!!别问我怎么知道的!!


正式开搞:

好了废话不多说了,我们正式开搞,先装Elasticsearch,因为其他俩软件都是依赖他运行的。

Elasticsearch:

先去他的官网下载个安装包:Past Releases of Elastic Stack Software | Elastic

 选择跟我一样的8.7.0!千万别下载最新的8.7.1因为IK分词器没有8.7.1版本的!!后续还得卸载了重新装!!

 这里需要注意的是,要先查询清楚你的Linux是啥内核再下载相应内核的版本!!

可以这样查询内核:

uname -r

创建用户:

因为Elasticsearch这个变态的软件他不允许用root用户允许,所以我们需要先创建个用户:

创建用户:

useradd xx 这里的xx替换成你的用户名

设置密码:

passwd xx  这里的xx替换成你的密码,八位以上的!

密码要输两遍!!

这里先用root用户安装,安好了再切换用户运行。

上传安装包,并解压

 打开你的xftp,连上虚拟机,在home文件下先创建个文件夹,随便你叫什么!!

 然后把安装包上传到你刚创建的目录下!

请注意,如果你的安装包下载正确,他的名称应该是跟我的一模一样的!!(如果你用的也是Linux系统)

 在虚拟机上切换到上传的目录下进行解压缩:

cd /home/leyou  这里的路径需要替换成你的实际路径

解压: 

tar -zxvf elasticsearch-8.7.0-linux-x86_64.tar.gz

为了方便操作,把目录重命名:

mv elasticsearch-8.7.0-linux-x86_64/ elasticsearch

 进入改完名的目录:

cd elasticsearch

进入配置目录,修改必要的配置:

 cd config

 好多博主教需要修改内存占用,我的建议是不需要,默认配置的内存一般够用,修多了容易报错,修少了也容易报错,我们这里就不修了!!(主打一个傻瓜式)

主要修改的配置文件:elasticsearch.yml

vim elasticsearch.yml

讲一些基础操作,按I开始修改!! 

 修改数据和日志目录:

path.data: /home/leyou/elasticsearch/data # 数据目录位置  
path.logs: /home/leyou/elasticsearch/logs # 日志目录位置

这里的路径替换成你的实际路径!!data和logs文件夹没创建不要紧一会我们就创建!!

 修改绑定的ip:

network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

 默认只允许本机访问,修改为0.0.0.0后则可以远程访问

改一些没用的配置,主要就是关闭一些安全限制之类的,需要注意的是,这些必须得改,要不然新版本运行会报错!!这都是我的血泪史!!我把要改动的地方都标红了,你们也直接复制我的完整代码!!


# Enable security features
xpack.security.enabled: false

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: false
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["localhost.localdomain"]

千万别听信别人的加一些其他配置,新版本会报错!!不要瞎加!!别问我怎么知道的!都是自己踩过的坑!!

改好了按esc退出编辑模式,输入:wq 然后再按回车保存。

返回上一层目录,创建需要的文件夹

cd ..

mkdir data
mkdir logs

 当然也可以用xftp操作。

 为你的其他用户添加权限:

vim /etc/security/limits.conf

添加下面的内容:

* soft nofile 65536

* hard nofile 65536

* hard nofile 131072

* soft nproc 4096

* hard nproc 4096

上面的星号别搞丢了!!

给你的文件夹分配用户组:

chown 你的用户名:跟你用户名一样的用户组 elasticsearch

分配完了ll看一下。

给文件夹改权限:

chmod -R 777 elasticsearch/

用cd ..返回上层目录,同样的操作对home目录再来一遍:

 chown 你的用户名:跟你用户名一样的用户组 home

chmod -R 777 home/

都搞好了用ll检查一下,变绿了,用户组也变了就可以运行了。

运行前把xshell关掉重启一下,确保配置生效!!

重启之后:

切换用户:

su - xx  这里的xx替换成你的用户名

创建好了之后进入bin目录开始运行:

cd /home/leyou/elasticsearch/bin/ 这里的目录替换成你自己的。

./elasticsearch

 如果你跟着我一步一步走,都没有报错,这里的运行基本上都会成功!!!!

 没有报错基本上就是启动成功了,可以再用电脑上的游览器检查一下:

打开相应的网页:http://192.168.5.10:9200/

这里需要替换成你自己虚拟机的地址!!如果不知道的话可以用ifconfig命令查询!

后面的端口号是固定的!!

网页上显示这些就代表你启动成功了!

 

 事已至此Elasticsearch就安装成功啦!!我们已经完成90%了!

接下来我们安装ik分词器!!


安装ik分词器

首先下载:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v8.7.0

就下载8.7.0的,跟elasticsearch版本一样!github有时候网页打不开,可以尝试一下魔法上网。

然后你是什么电脑就下载啥版本,我是Windows系统。

下载好了之后先别着急!!先解压,然后用idea打开这个代码包进行构建!!!构建完了之后再上传到虚拟机!!别问我怎么知道的,不构建就是莫名其妙报错!!!!

 构建就是这个小按钮哈!!像个锤子一样的图标!!

构建好了 打开xftp,在/home/这里替换成你的文件夹/elasticsearch/plugins 目录下创建一个analysis-ik文件夹,这里的文件夹名字必须跟我一模一样!!不然运行就会报错!!别问我怎么知道的!血泪史!!!

 都搞好了之后,把代码包上传到analysis-ik目录下,由于我们刚刚已经解压了所以这里就不用解压了!!

然后退出xshell和xftp,重启elasticsearch:

cd /home/leyou/elasticsearch/bin/ 这里的目录替换成你自己的。

./elasticsearch

如果这里启动elasticsearch没有报错,就说明你的ik分词器运行成功了!!!

再打开刚刚的网页检查下:

最后我们安装kibana!!


安装kibana

依然是通过官网下载!点这里然后选你的系统就OK!!记住kibana是安在主机上的不是虚拟机上的,所以不是mac就是Windows系统!!

Kibana 8.7.0 | Elastic

这个安装就非常非常简单了!!下载好了之后解压!!解压完了之后改配置文件:

安装我下面的配置改: 

server.host: "192.168.5.174" 这里需要改成你的主机ip
elasticsearch.hosts: ["http://192.168.5.10:9200"]这里需要改成你的虚拟机ip

xpack.reporting.roles.enabled: false 这里是没用的配置但是不写就报错!

i18n.locale: "zh-CN" 这个配置用于显示中文的界面,如果你是个外国人你就当我没说,这个配置估计全网只有我一个人出了教程(我英语差) 哈哈哈哈

都配置好了之后保存!然后打开你主机电脑的cmd,以管理员身份运行!

然后cd到你安装 kibana的路径,然后输入kibana.bat运行!

这里一定要以用cmd运行,不然如果报错了你都看不到就闪退了!!别问我怎么知道的!!血泪史!!

运行好了之后,就可以打开游览器检测是否成功了~~~

这里可以访问http://127.0.0.1:5601 ,或者你刚刚配置的server.host:5601(server.host就是你的主机ip,比如192.168.5.174),第一次启动比较慢,估计要等个几分钟才行,没有报错error就是启动成功~访问检查就ok!

哦对了,差点忘了说,必须是elasticsearch启动的情况下kibana才可以正常运行!!没有启动elasticsearch先启动再启动kibana!!!

正常运行之后显示的页面:

 需要注意的是!!这才是新界面!好早之前应该就改版了!!但是愣是没见国内任何一个人用!!还得是我当布道者,哦对了,我不确定你们是不是显示的中文,如果不是的话,需要在高级设置那里改成中文哈!(让改中文的教程我估摸是第一个 哈哈哈哈哈)

设置-Advanced Settings(高级设置)-搜索local,然后找到chinese~~

 好啦,就这样,完结撒花!!!!记得点赞评论收藏鼓励三连~~爱你们!!

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

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

相关文章

通过ChatGPT跟MetaHuman对话,Android/iOS兼容

一、申请ChatGPT的API-KEY 1.通过 openAI官网申请API-KEY 2.参考使用腾讯云函数一分钟搭建 OpenAI 免翻墙代理搭建openAI免翻墙代理 3.通过Postman测试一下openAI函数是否可被调用,传入BearerToken和Body参数,ChatGPT即可返回应答数据 二、启用必要的插件 1.启用文字转语…

5.24黄金短线上涨能否继续做空?今日如何布局

近期有哪些消息面影响黄金走势?今日黄金多空该如何研判? ​黄金消息面解析:黄金消息面解析:周二(5月23日),国际金价延续隔夜跌势,因在美联储官员的鹰派言论推动下,美元重启涨势,尽管…

chatgpt赋能Python-python_padding

Python中Padding的介绍 在Python编程中,Padding是一种在字符串或序列前后添加空格或其他占位符来实现对齐的技术。这种技术常用于数据格式化、打印输出、加密等场合,具有很高的实用性。 Python中Padding技术主要由三种函数实现:rjust, ljus…

当系统部署到测试环境,或线上时,该如何查看当前FastJson的版本

当系统部署到测试环境,或线上时,该如何查看当前FastJson的版本 提示:看见网上很多方法,有的不是很实用了,近日自己将fastJson版本升级到了1.2.76;需要在系统中查看版本信息;用到了如下方法&…

Java——《面试题——JVM篇》

前文 java——《面试题——基础篇》CSDN博客 1.知识点汇总 JVM是Java运行基础,面试时一定会遇到JVM的有关问题,内容相对集中,但对只是深度要求较高. 其中内存模型,类加载机制,GC是重点方面.性能调优部分更偏向应用,重点突出实践能力。编译…

网络安全技能差距的高成本

犯罪分子总是利用我们的无能为他们谋取利益。根据(ISC)的一份报告,全球网络安全专业人员短缺近 300 万。导致网络安全专家短缺的原因是多方面的,例如网络安全威胁的复杂性越来越高,技术进步的速度越来越快,…

C++继承技术

方法覆盖 virtual关键字 只有在基类中声明为 virtual 的方法才能被派生类正确覆盖。关键字位于方法声明的开头,如下面的 Base 的修改版本所示: class Base {public:virtual void someMethod() {}protected:int m_protectedInt { 0 };private:int m_pr…

一图看懂 dis 模块:将 python 字节码反汇编为助记符,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 dis 模块:将 python 字节码反汇编为助记符,资料整理笔记(大全) 🧊摘要🧊模块图🧊类关系图…

chatgpt赋能Python-python_plt_散点图

Python plt散点图:学习数据可视化的有力武器 Python是一种广泛使用的编程语言,广泛应用于数据科学,数据分析,计算机视觉等领域。而在数据可视化方面,Python也提供了很多强大的工具,其中plt散点图是一种非常…

Chatbot UI老外在用的gpt网页版 搭建方法分享!

新建了一个网站 https://ai.weoknow.com/ 每天给大家更新可用的国内可用chatGPT资源 Chatbot UI 高仿ChatGPT官网,中文还支持贼好,界面美观度间距还需要打磨。是老外做的吗? ​ 环境部署 更新环境 apt update -y && apt upg…

09 - 进程长参数编程

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录 1. 短选项扩展编程1.1 再论进程参数(短选项)1.2 进程短选项示例 2. 进程长参数编程2.1 进程长参数示例2.2 进程长参…

MATLAB NAN或INF无效点去除 (14)

MATLAB NAN或INF无效点去除 (14) 一、算法介绍二、算法实现1.代码(含注释说明)2.效果(无效点去除前后点坐标展示)一、算法介绍 仅就一般情况来说,激光点云受到测量影响,可能会产生无效点,即坐标值为NAN或者INF等,这种点会严重干扰一些几何特征,例如法向等的计算,因…

HummerRisk V1.1.0 发布

HummerRisk V1.1.0发布: 重构了新的Dashboard,新增报告中心,增加新的 Linux 主机系统的安全扫描、安全审计功能。增加部分Docker相关的主机检测,镜像仓库新增公有云阿里云、腾讯云类型,新增镜像分组管理等功能&#x…

chatgpt赋能Python-python_os拷贝文件

Python os拷贝文件 – 从简介到实现 Python os库是一个经常使用的工具,它是Python的标准库,提供了与操作系统进行交互的函数和方法。其中,os拷贝文件是其常用的功能之一,可以用来实现文件备份、文件复制等等操作。接下来&#xf…

pthread多线程: 线程泄漏的检测

文章目录 1. 目的2. 什么是线程泄漏3. pthread 线程泄漏例子3.1 代码3.2 编译和运行3.3 简要分析 4. 检测线程泄漏4.1 编译链接时传入参数 -fsanitizethread4.2 确认 TSAN_OPTIONS 环境变量 5. 修复线程泄漏5.1 方法1: 主线程等待子线程5.2 方法2:子线程…

k8s网络如何连接?

在k8s中网络连接可以分为 容器与容器: 所有在pod中的容器表现为在同一个host,他们之间可以通过端口进行连接 pod与pod: 因为每个pod都有一个ip,因此pod可以通过ip进行直接连接 在不同主机上pod究竟是如何连接的呢?毕竟pod ip只是虚拟的&…

Vue+Element-ui实现表格导出和导入

表格导出,填写数据,导入表格 需求:表格导出,填写数据,导入数据表格文件存储在前端表格文件不存储 需求:表格导出,填写数据,导入数据 分析需求: (1&#xff0…

【Leetcode60天带刷】day01——704.二分查找、27.移除元素

题目: 704. 二分查找 Leetcode原题链接:力扣704.二分查找 思考历程与知识点: 考查二分查找能力,注意mid的取值。 注意: 右端点的大小,需要在数组长度上-1。也就是nums.size()-1,因为下标是从…

chatgpt赋能Python-python_numpy_转置

Python Numpy 转置 - 高效处理数据的必备技巧 作为一名专注于Python编程的工程师,你可能已经知道了 Python 编程语言的优雅以及Numpy 库的高效操作。在进行数值计算和数据处理方面,Numpy 库已成为 Python 可以与其他编程语言匹敌的主要原因之一。其中一…

Vue 3 第二十二章:组件十(组件高级特性-组件的渲染函数和JSX/TSX语法)

文章目录 1. 渲染函数2. JSX / TSX 语法2.1. 基本使用2.2. 使用 vue 中的语法2.2.1. {} 语法2.2.2. v-model 使用2.2.3. v-show 使用2.2.4. v-if 不支持,实现v-if功能2.2.5. v-for 不支持,实现 v-for 功能2.2.6. v-bind 不支持,模拟 v-bind2.…