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


    Elasticsearch单机(Linux)

    准备工作

    第一项:

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

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

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

    设置linux的虚拟内存

    vim /etc/sysctl.conf
    
    • 1

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

    vm.max_map_count=262144
    
    • 1

    虚拟内存生效

     sysctl -p
    
    • 1

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

    vim /etc/security/limits.conf
    
    • 1

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

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

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 4096
    * hard nproc 65536
    
    • 1
    • 2
    • 3
    • 4

    使配置生效

    source /etc/security/limits.conf
    
    • 1

    开始部署

    第一步:

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

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

    第二步:

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

    tar -zxvf  需要解压的包路径
    
    • 1

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

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

    第三步:

    在服务器上创建两个文件夹用于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"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

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

    -Xms1g
    -Xmx1g
    
    • 1
    • 2

    第六步:
    配置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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

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

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

    ./elasticsearch -d
    
    • 1

    查看日志:在自己配置的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包
    
    • 1

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

    mvn clean install
    
    • 1

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

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

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

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

    ps -ef|grep elasticsearch
    
    • 1

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

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

    ./elasticsearch -d
    
    • 1

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

    ./elasticsearch-plugin list
    
    • 1

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

    文本抽取

    准备工作

    Elasticsearch部署成功

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

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

    elasticsearch-plugin install ingest-attachment
    
    • 1

    安装后同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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    nohup ./kibana &
    
    • 1

    查找Kibana进程的命令:

    ps -ef|grep node
    
    • 1

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

    netstat -tunlp|grep 5601
    
    • 1

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

    第五步:

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

  • 相关阅读:
    Android Studio真机运行时提示“安装失败”
    COSO流动性协议和跨链协议,能否解决流动性难题?
    Power Apps-组件属性
    C++头文件定义变量
    『忘了再学』Shell基础 — 13、环境变量(一)
    Python大数据之linux学习总结——day10_hadoop原理
    适用于小型企业的远程控制软件分享!
    神经网络中间层特征图可视化(输入为音频)
    2022河南萌新联赛第(四)场-苹方树-(LCA+重链剖分)
    Linux常用指令
  • 原文地址:https://blog.csdn.net/weixin_44013965/article/details/133015640