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

news2024/10/2 11:12:51

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" ]; then
  JAVA="$ES_JAVA_HOME/bin/java"
  JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then
  # fallback to JAVA_HOME
  echo "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 structure
    JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
  else
    JAVA="$ES_HOME/jdk/bin/java"
  fi
  JAVA_TYPE="bundled JDK"
fi

if [ ! -x "$JAVA" ]; then
  echo "could not find java in $JAVA_TYPE at $JAVA" >&2
  exit 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防火墙有没有开放端口

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

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

相关文章

BootStrap中的布局

1.BootStrap中的布局 2.BootStrap 中的媒体查询 // Extra small devices (portrait phones, less than 576px) media (max-width: 575px) { ... }// Small devices (landscape phones, 576px and up) media (min-width: 576px) and (max-width: 767px) { ... }// Medium dev…

38 | 统一测试数据平台

测试数据准备的 2.0 时代 在Java中可以利用Builder Pattern,创建数据时如对其中的某个或某几个参数有特定要求的话,可以通过“.withParameter()”的方式指定,而没有指定的参数将自动采用默认值。 UserBuilder.withCountry(“US”).withBuild…

深度学习-ONNX模型

ONNX(Open Neural Network Exchange)是一种开放的、跨平台的模型交换格式,旨在帮助机器学习开发人员轻松地在不同的深度学习框架之间共享模型。 ONNX是由Microsoft和Facebook合作推出的,它使得不同深度学习框架之间可以相互转换模…

036:vue导出页面生成pdf文件

第036个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

Git:利用Git进行多人协作的场景模拟

文章目录 场景一场景二解决一些后续问题 场景一 Git是一个多人协作下完成的操作,因此Git是需要进行一些多人协作的场景的,那么这里就使用Linux和Windows两个平台进行模拟实现两个用户进行的协作 首先把仓库克隆到本地,再加入两个用户的信息…

软件设计模式系列之十——组合模式

1 模式的定义 组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示部分-整体层次结构。这个模式允许客户端以一致的方式处理单个对象和对象组合,因此它将单个对象和组合对象视为可互换的。 组合模式允许你将对象组合成树状结构来表示"部…

AI写作宝-为什么要使用写作宝

写作一直是一项需要创造力和思考的任务,人工智能(AI)正逐渐成为我们写作过程中的一位新伙伴。AI写作宝等在线AI写作工具正日益普及,为我们提供了更多的写作选择和可能性。 AI写作宝:什么是它们,以及它们能做…

国庆节都有哪些营销方案?

这里分享一些撰写国庆节营销方案的方法论,同时分享一些常见的国庆节营销方式。 1、确定活动时间: 一般来讲,国庆活动的最好时间是9月29日-10月7日,前期需要留有预热宣传的时间,告知用户活动的主题以及福利政策 2、确…

媒体发稿的步骤与技巧:打造品牌曝光与声誉

媒体发稿是企业、组织和个人获取曝光和传播信息的重要途径之一。通过媒体发稿,可以向目标受众传递重要的信息、推广产品或服务、塑造品牌形象等。然而,对于许多人来说,媒体发稿的流程和步骤可能会感到复杂和困惑。本文将为您介绍媒体发稿的基…

怒刷LeetCode的第7天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:二分贪心 方法二:二分DP 第二题 题目来源 题目内容 解决方法 方法一:双指针 方法二:暴力搜索 方法三:排序 第三题 题目来源 题目内容 解决方法 方法一…

【算法】单调栈

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

“高级Java注解的简介及应用“

目录 引言1. Java注解简介1.1 什么是注解1.2 注解的作用1.3 常见的Java注解 2. 自定义注解案例3. AOP自定义注解的应用3.1 AOP简介3.2 AOP自定义注解 总结 引言 在Java开发中,注解是一种非常重要的语言特性,它们可以为代码提供额外的信息和元数据。本文…

MFC 绘图

效果图:三张bmp图 字 竖线 组成 在OnPaint()函数中 CPaintDC dc(this);CRect rect;GetClientRect(&rect); //获取客户区矩形CDC dcBmp; //定义并创建一个内存设备环境dcBmp.CreateCompatibleDC(&dc); //创建兼容性DCCBitmap …

如何把利用paddlepaddle导出的json文件转化为yolo或者voc文件

目录 1. 修改源码,让模型能够生成出对于单个图像的标注。 2. 把数据转为yolo格式 3.把yolo格式转化为xml格式 这两天想偷懒,想让模型先在数据上标一遍,然后我再做修正,主要是图个省事。由于我们主要是利用paddle,模型也是基于p…

python+django学习资料在线分享系统vue

本站是一个B/S模式系统,采用vue框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得校园资料分享平台管理工作系统化、规范化。技术栈 后端:pyth…

同城信息服务源码 本地生活服务小程序源码

同城信息服务源码 本地生活服务小程序源码 功能介绍: 基本设置:网站参数、安全设置、分站管理、支付设置、操作日志、地区设置、公交地铁、国际区号、清理缓存、模板风格、模块管理、域名管理、底部菜单、消息通知、登录设置 其他设置:关键…

Linux内核源码分析 (B.7)深入理解 slab cache 内存分配全链路实现

Linux内核源码分析 (B.7)深入理解 slab cache 内存分配全链路实现 文章目录 Linux内核源码分析 (B.7)深入理解 slab cache 内存分配全链路实现1\. slab cache 如何分配内存2\. slab cache 的快速分配路径3\. slab cache 的慢速分配路径3.1 从本地 cpu 缓存 partial 列表中分配3…

小程序多种姿势更换文章

概述 简单的文章切换demo,通过倒计时、摇一摇、双击进行文章切换 详细 直接看效果图吧!比较简单,主要是练习一下... 小程序不带双击事件,可以记录第一次单击事件和第二次单机事件进行双击操作。 1、摇一摇是通过调用官方的 …

将多个元素循环起来构成迭代器itertools.cycle()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将多个元素循环起来 构成迭代器 itertools.cycle() 选择题 以下说法错误的是? import itertools a[1,2,3] print("【显示】a:");print(a) bitertools.cycle(a) print("【执行】…

MVC设计思想理解和ASP.NET MVC理解

三层模式 三层模式包括:UI层,业务逻辑层,数据访问层,模型层 MVC设计思想和ASP.NET MVC理解 MVC设计思想: MVC的思想就是把我们的程序分为三个核心的模块,这三个模块的详细介绍如下: 模型(Model) :负责封装与引用程序的业务逻辑相关的数据以及对数据的处理方法。模型层有对…