当前位置: 首页 > news >正文

linux搭建单机ES,集成ik分词器,文本抽取,Kibana可视化平台

Elasticsearch单机(Linux)

准备工作

第一项:

创建运行Elasticsearch和Kibana专用的普通用户,因为 elasticsearch 和 kibana 不允许使用 root用户启动,所以需要创建新用户启动。

linux用root权限创建一个用户赋权即可,注意权限要给足

第二项(启动没有报相关错误此项可以不做调整):

设置linux的虚拟内存

vim /etc/sysctl.conf

修改参数(自定义,我这里是设置成1024*256这么大)

vm.max_map_count=262144

虚拟内存生效

 sysctl -p

第三项(启动没有报相关错误此项可以不做调整):
修改linux系统句柄配置,通过以下命令

vim /etc/security/limits.conf

修改或添加配置(一定要放在# End of file之前)

nofile - 打开文件的最大数目
noproc - 进程的最大数目
soft 指的是当前系统生效的设置值
hard 表明系统中所能设定的最大值

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 65536

使配置生效

source /etc/security/limits.conf

开始部署

第一步:

下载地址:官网下载地址
我这里下载的是7.16.0版本(下面网盘自取)

链接: https://pan.baidu.com/s/1GT47H3gdiYI361eYD6l5EA?pwd=abb2 提取码: abb2

第二步:

将下载的包放到服务器上,使用解压命令解压
解压命令

tar -zxvf  需要解压的包路径

如果需要解压其他目录,用命令

tar -zxvf  需要解压的包路径 -C 目标路径

第三步:

在服务器上创建两个文件夹用于ES修改配置时使用
一个存放es的data,一个存放es的log

Path to directory where to store the data (separate multiple locations by comma)
存储数据的目录的路径(用逗号分隔多个位置)
path.data: esdata的路径
Path to log files:
日志文件路径:
path.logs: eslog的路径

第四步:
修改配置文件内容
配置文件在ES的解压目录下的config目录下的elasticsearch.yml文件,修改配置文件

#集群名称
cluster.name: es-app
#集群节点名称
node.name: node-1
#存储数据的路径
path.data: /usr/local/esdata
#日志文件路径
path.logs: /usr/local/eslog
#网络公开的IP地址(设置为0.0.0.0表示所有IP都可以访问)
network.host: 0.0.0.0
#http端口
http.port: 9200
#集群节点IP列表
discovery.seed_hosts: ["127.0.0.1"]
#集群节点名称列表
cluster.initial_master_nodes: ["node-1"]

第五步:
修改ES的JVM
该配置文件在解压目录下的config目录下的jvm.options文件,修改以下配置

-Xms1g
-Xmx1g

第六步:
配置ES的java环境

从ES7.0之后,ES就自带jdk了,因为项目的正式环境所用的java环境有可能不适用于ES的java环境变量,ES从6.0就支持JAVA11了,如果项目正式环境的java环境符合ES的java环境,此步骤可以略过。

在解压目录下有一个jdk目录,这里就是ES自带的java环境,我们需要在解压目录下的bin目录下的elasticsearch-env文件,修改JAVA_HOME为ES自带的java环境

# now set the path to java
if [ ! -z "$ES_JAVA_HOME" ]; thenJAVA="$ES_JAVA_HOME/bin/java"JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then# fallback to JAVA_HOMEecho "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2#JAVA="$JAVA_HOME/bin/java"#修改这一块********************************************JAVA="/usr/local/elasticsearch-7.16.0/jdk/bin/java"JAVA_TYPE="JAVA_HOME"#end*************************************************
else# use the bundled JDK (default)if [ "$(uname -s)" = "Darwin" ]; then# macOS has a different structureJAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"elseJAVA="$ES_HOME/jdk/bin/java"fiJAVA_TYPE="bundled JDK"
fiif [ ! -x "$JAVA" ]; thenecho "could not find java in $JAVA_TYPE at $JAVA" >&2exit 1
fi

修改完保存即可
注意:如果修改了还会出现JAVA环境变量的问题,可以把这一段的所有有关java的路径全都修改了

第七步:
启动ES
在解压目录下的bin目录下执行下面命令(后台启动)

./elasticsearch -d

查看日志:在自己配置的ES的log目录下的logs目录下查看日志

验证是否启动成功(如访问不到,请先开放linux防火墙的端口)
浏览器访问地址:IP+端口
出现以下信息即为启动成功
在这里插入图片描述

集成ik分词器

准备工作:

Elasticsearch部署成功
有maven环境可以使用mvn命令
在ES解压目录下的plugins目录下创建ik文件夹(mkdir ik)

第一步:
下载ik分词器,这里也准备了配套的ik分词器zip包,用的7.16.2版本,解压后与ES的版本一致,下面网盘自取

链接: https://pan.baidu.com/s/1ZISaAqK476DNl0RG8RPaqA?pwd=qr4f 提取码: qr4f

第二步:
把下载好的ik分词器zip包放到服务器上,方便操作可以放在在ES解压目录下的plugins目录下,通过下面命令解压

unzip ik分词器的zip包

第二步:
进入到解压后的ik分词器的目录中,执行下面命令打包

mvn clean install

第三步:
打包成功后可以在ik分词器解压目录下看到target目录,找到releases目录下的zip,移动到提前在ES解压目录下的plugins目录下创建好的ik目录下,我这里通过mv命令移动

mv releases目录下的zip 目标目录路径

第四步:
在ES解压目录下的plugins目录下的ik目录下解压刚才移动过来的zip包(使用unzip命令解压),解压后会看到如下图所示
在这里插入图片描述
把这里面的zip包删除,最后ik目录下的文件就下图所示即可
在这里插入图片描述
最后把与ik目录同级的ik分词器的zip包及其解压后的包删除

第五步:
重新启动ES,查看ik分词器插件是否集成成功
查看ES进程命令

ps -ef|grep elasticsearch

ES启动后会有两个进程,通过PPID的进程号kill掉就能停止ES

ES停止后在解压目录下的bin目录下执行下面命令重启ES(后台启动)

./elasticsearch -d

第六步:
检查插件是否安装,在ES解压目录下的bin目录下执行下面命令

./elasticsearch-plugin list

执行命令后出现以下内容即为ik分词器集成成功
在这里插入图片描述

文本抽取

准备工作

Elasticsearch部署成功

文本抽取是为了抽取上传的文件里面的内容,类似于文件内容的识别,可抽取word、excel、txt,pdf文件的内容,用于ES查询的时候可以对文件内容做模糊匹配查询

在ES解压目录下的bin目录下执行下面命令进行文本抽取插件的安装

elasticsearch-plugin install ingest-attachment

安装后同ik分词器一样需要重启ES以及通过插件查询命令查看是否集成成功

Kibana可视化平台(Linux)

准备工作:

Elasticsearch部署成功

第一步:
下载地址:官方下载地址
我这里下载的是7.16.0版本(下面网盘自取)

链接: https://pan.baidu.com/s/19N0RNifc0fxj7eoUUZQEKA?pwd=mmxt 提取码: mmxt

第二步:
将下载的包放到ES解压目录下并进行解压,解压命令参考ES部署的第二步

第三步:
修改Kibana配置
在Kibana的解压目录下的config目录下的kibana.yml文件,修改配置文件

#Kibana提供服务的端口
server.port: 5601
#指定Kibana服务器将绑定到的地址,设置为0.0.0.0表示所有IP都可以访问
server.host: "0.0.0.0"
#用于所有查询的Elasticsearch实例的url
elasticsearch.hosts: ["http://127.0.0.1:9200"]
#设置语言:英文 en,默认为中文 zh-CN。
i18n.locale: "zh-CN"

第四步:
启动Kibanaq启动命令如下:

nohup ./kibana &

查找Kibana进程的命令:

ps -ef|grep node

有 node 不一定就是 kibana 的进程。kibana 对外的 tcp 端口是 5601,如果改了自行调整命令,所以可以进一步使用如下命令查到进程号

netstat -tunlp|grep 5601

关闭命令,通过kill -9 杀死即可

第五步:

访问Kibana,通过IP+Kibana端口进行访问,如果访问不了,先查看下linux防火墙有没有开放端口

相关文章:

linux搭建单机ES,集成ik分词器,文本抽取,Kibana可视化平台

Elasticsearch单机(Linux) 准备工作 第一项: 创建运行Elasticsearch和Kibana专用的普通用户,因为 elasticsearch 和 kibana 不允许使用 root用户启动,所以需要创建新用户启动。 linux用root权限创建一个用户赋权即可…...

金融和大模型的“两层皮”问题

几年前,我采访一位产业专家,他提到了一个高科技到产业落地的主要困惑:两层皮。 一些特别牛的技术成果在论文上发表了,这是一层皮。企业的技术人员,将这些成果产品化、商品化的时候,可能出于工程化的原因&am…...

智能生活从这里开始:数字孪生驱动的社区

数字孪生技术,这个近年来备受瞩目的名词,正迅速渗透到社区发展领域,改变着我们居住的方式、管理的方式以及与周围环境互动的方式。它不仅仅是一种概念,更是一种变革,下面我们将探讨数字孪生技术如何推动社区智能化发展…...

Python计算机二级知识点整理

1.当一个进程在运行过程中释放了系统资源后要调用 唤醒进程原语 唤醒进程原语是把进程从等待队列里移出到就绪队列并设置进程为就绪状态,当一个进程在运行过程中释放了系统资源后进入就绪状态,调用唤醒进程原语。 2. 3. 4.在希尔排序法中&#x…...

双系统ubuntu20.04(neotic版本)从0实现Gazebo仿真slam建图

双系统ubuntu20.04(neotic版本)从0实现Gazebo仿真slam建图 昨晚完成了ROS的多机通讯,还没来得及整理相关操作步骤,在进行实际小车的实验之前,还是先打算在仿真环境中进行测试,熟悉相关的操作步骤,计划通过虚拟机&…...

(JavaEE)(多线程案例)线程池 (简单介绍了工厂模式)(含经典面试题ThreadPoolExector构造方法)

线程诞生的意义,是因为进程的创建/销毁,太重了(比较慢),虽然和进程比,线程更快了,但是如果进一步提高线程创建销毁的频率,线程的开销就不能忽视了。 这时候我们就要找一些其他的办法…...

单播与多播mac地址

MAC 地址(Media Access Control Address)是一个用于识别网络设备的唯一标识符。每个网络设备都有一个独特的 MAC 地址,用于在局域网中进行通信。 单播MAC地址:单播MAC地址用于单播通信,即一对一的通信模式。当设备发送…...

反向动力学Ik学习

参考文章:(非本人原创) 英文原文:Inverse Kinematics Techniques in Computer Graphics: A Survey (andreasaristidou.com) 知乎翻译文章: 【游戏开发】逆向运动学(IK)详解 - 知乎 (zhihu.co…...

基于Levenberg-Marquardt算法的声源定位matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .................................................................... %ML if (bML1)varxs…...

vscode的Emmet语法失效

解决方案:设置 -> 搜索Emmet -> 勾选 Emmet:Trigger Expansion On Tab和Emmet: Use Inline Completions -> 重启 注:Emmet语法是vscode自带的语法,可以快速生成HTML结构/CSS样式/格式化语法 Emmet语法 参考:关于vscode使…...

堆排序(大根堆)

堆的定义如下&#xff0c;n个关键字序列[1...n]称为堆&#xff0c;当且仅当满足&#xff1a; a(i)>a(2i)且a(i)>a(2i1) 这个为大根堆 a(i)<a(2i)且a(i)<a(2i 1) 这个为小根堆 通过建堆得到大根堆 大根堆 87,45,78,32,17,65,53,9 可以看成 …...

Mybatis学习笔记3 在Web中应用Mybatis

Mybatis学习笔记2 增删改查及核心配置文件详解_biubiubiu0706的博客-CSDN博客 技术栈:HTMLServletMybatis 学习目标: 掌握mybatis在web应用中如何使用 Mybatis三大对对象的作用域和生命周期 关于Mybatis中三大对象的作用域和生命周期、 官网说明 ThreadLocal原理及使用 巩…...

软件测试之功能测试详解

一、功能测试概述 1&#xff09;功能测试就是对产品的各功能进行验证&#xff0c;根据功能测试用例&#xff0c;逐项测试&#xff0c;检查产品是否达到用户要求的功能。 2&#xff09;功能测试&#xff0c;根据产品特性、操作描述和用户方案&#xff0c;测试一个产品的特性和…...

javascript选取元素的范围,可以包含父级,也可以不包含父级

//函数可以选取元素的范围&#xff0c;对于要选取文本的非常方便&#xff0c;或选取特定的子节点 function getRange(element){//判断是否支持range范围选取var supdocument.implementation.hasFeature("Range","2.0");var also(typeof document.createRan…...

QGIS怎么修改源代码?持续更新...

修改配置文件保存位置 修改目的&#xff1a;放着和本地安装的其他QGIS共用一份配置文件 修改文件&#xff1a;core/qgsuserprofilemanager.cpp 修改位置&#xff1a;第37行 return basePath QDir::separator() "my_profiles";修改完毕后&#xff0c;再次生成一下…...

dev board sig技术文章:轻量系统适配ARM架构芯片平台

摘要&#xff1a;本文简单介绍OpenHarmony轻量系统移植&#xff0c;会分多篇 适合群体&#xff1a;想自己动手移植OpenHarmony轻量系统的朋友 开始尝试讲解一下系统的移植&#xff0c;主要是轻量系统&#xff0c;也可能会顺便讲下L1移植。 1.1移植类型 OpenHarmony轻量系统的…...

MyBatis之增删查改功能

文章目录 一、创建各种类二、MyBatis的各种功能 1、查询<select>2、增加<insert>3、修改<update>4、删除<delete>三、总结 前言 在MyBatis项目中编写代码实现对MySql数据库的增删查改 一、创建各种类 1、在Java包的mapper文件下创建一个接口 我创建…...

Leetcode算法入门与数组丨5. 数组二分查找

文章目录 1 二分查找算法2 二分查找细节3 二分查找两种思路3.1 直接法3.2 排除法 1 二分查找算法 二分查找算法是一种常用的查找算法&#xff0c;也被称为折半查找算法。它适用于有序数组的查找&#xff0c;并通过将待查找区间不断缩小一半的方式来快速定位目标值。 算法思想…...

拓扑关系如何管理?

在设备对接涂鸦的云端过程中&#xff0c;一部分设备由于自身资源或硬件配置&#xff0c;无法直接连接云端。而是需要通过网关进行中转&#xff0c;由网关代理实现和云端进行数据交互&#xff0c;间接实现设备接入云端。这样的设备也称为子设备。 要想实现网关代理子设备接入云…...

vue的由来、vue教程和M-V-VM架构思想、vue的使用、nodejs

vue vue的由来 vue教程和M-V-VM架构思想 vue的初步简单使用 nodejs vue的由来 # 1 HTML(5)、CSS(3)、JavaScript(ES5、ES6、ES11)&#xff1a;编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 ->…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...