• CentOS7 安装 ElasticSearch7.10


    CentOS7 安装 ElasticSearch7.10

    By: suking @ 2020-12-14

    一、《安装ElasticSearch7.10》

    参考链接

    1. 安装 JDK

    下载JDK8

    下载JDK11(官方推荐)

    ES7要求JDK版本8+,未来要求11+

    如果系统中使用了JDK8,配置完成后,启动ES的时候会提示,

    future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/nlp/java/jdk1.8.0_162/jre] does not meet this requirement

    所以,这里推荐使用JDK11。

    如果服务器中必须要用JDK8或其他版本,可以通过修改配置文件,使ES可以单独使用JDK11。

    配置方法如下(使用ES自带的JDK):

    #进入ES的bin目录
    vi /usr/local/software/elasticsearch-7.10.1/bin/elasticsearch
    
    #配置为指定的JDK
    export JAVA_HOME=/usr/local/software/elasticsearch-7.10.1/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    
    #添加jdk判断
    if [ -x "$JAVA_HOME/bin/java" ]; then
            JAVA="/usr/local/software/elasticsearch-7.10.1/jdk/bin/java"
    else
            JAVA=`which java`
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.安装ElasticSearch

    2.1在CentOS上创建文件夹

    mkdir /usr/local/software/
    cd /usr/local/software/
    
    • 1
    • 2

    2.2 下载ElasticSearch

    • 方式一:下载安装文件到本地,然后传到Linux服务器上。下载地址

      方式二:在服务器上直接下载。

      cd /root/
      wget http://117.78.24.34/elasticsearch-7.10.1-linux-x86_64.tar.gz?fid=fFFDdNwWA8jOUq*hy3TMh214dQt9hQATAAAAABAMf8o2lgHYi2MbegjqnqFDInR8&mid=666&threshold=150&tid=CAD91DF3C8418FFC7003DEE194647E42&srcid=119&verno=1
      
      • 1
      • 2

    2.3 解压文件

    cd /usr/local/software
    tar -zxvf /root/elasticsearch-7.10.1 -C /usr/local/software
    
    • 1
    • 2

    2.4 创建运行ES的用户

    在这里插入图片描述

    # 1、创建新的用户
    adduser elasticsearch
    # 2、设置用户密码
    passwd elasticsearch
    # 3、授权给新建用户es文件夹的权限
    chown -R elasticsearch /usr/local/software/elasticsearch-7.10.1
    # 4、切换用户
    su elasticsearch
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    3. 修改ElasticSearch配置文件

    本例为单节点模式

    cd /usr/local/software/elasticsearch-7.10.1/config
    vi elasticsearch.yml
    
    • 1
    • 2

    在这里插入图片描述

    a、集群名称,需确保不同的环境中集群的名称不重复,否则节点可能会连接到错误的集群上

    cluster.name: suking-es-app

    b、节点名称,默认情况下当节点启动时Elasticsearch将随机在一份3000个名字的列表中随机指定一个。如果机器上只允许运行一个集群Elasticsearch节点,可以用${HOSTNAME}设置节点的名称为主机节点。节点默认名称为机器的主机名。

    node.name: node-sk-1

    c、网络设置,绑定服务到指定IP(提供服务的网口)

    network.host: 192.168.188.80

    http.port: 9200

    d、集群主节点信息

    cluster.initial_master_nodes: [“node-sk-1”]

    4. 系统设置

    4.1设置内核参数。

    Elasticsearch mmapfs默认使用目录来存储其索引。默认的操作系统对mmap计数的限制可能太低,这可能会导致内存不足异常。

    vi /etc/sysctl.conf
    
    sysctl -p #执行命令sysctl -p生效
    
    • 1
    • 2
    • 3

    vm.max_map_count=262144

    在这里插入图片描述

    4.2 配置当前用户每个进程最大同时打开文件数

    切换到root用户

    #查看硬限制
    ulimit -Hn
    ulimit -Sn
    
    • 1
    • 2
    • 3

    通常情况下如果值是4096启动ES时会报如下错误

    max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
    
    • 1

    修改配置文件

    vi /etc/security/limits.conf
    
    sysctl -p
    
    • 1
    • 2
    • 3

    添加如下内容

    es_starter hard nofile 65537
    es_starter soft nofile 65536

    上面两行语句表示,es_starter 用户的软限制为65536,硬限制为65536,即表示es_starter 用户不管它开启多少个shell能打开的最大文件数量为65536。

    其中 es_starter 表示启动ElasticSearch的用户。

    在设定上,通常soft会比hard小,举例来说,sofr可以设定为80,而hard设定为100,那么你可以使用到90(因为没有超过100),但介于80~100之间时,系统会有警告信息。

    修改了limits.conf,不需要重启,重新登录即生效。

    5. 启动ElasticSearch

    注意:启动需要使用专门用户,本例启动es的用户为 “elasticsearch”,如果使用root启动会报错,会生成一些只有root用户才能操作的文件,这会导致即使正确启动仍然会报错。

    解决方法是将这些root用户才能操作的文件改为elasticsearch可操作。

    5.1 启动 es, -d 命令是让es服务在后台运行

    #使用elasticsearch用户
    su elasticsearch
    #进入ES启动脚本目录
    cd /usr/local/software/elasticsearch-7.10.1/bin
    #启动ES, -d参数是为了让ES服务在后台运行
    ./elasticsearch -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    5.2 设置防火墙

    #查看防火墙状态
    systemctl status firewalld
    #开启防火墙
    systemctl start firewalld
    #关闭防火墙
    systemctl stop firewalld
    #查看当前firewall状态
    firewall-cmd --state
    #重启firewall
    firewall-cmd --reload
    #禁止开机启动
    systemctl disable firewalld.service 
    #查看打开的端口
    firewall-cmd --list-ports
    #打开9200端口
    firewall-cmd --zone=public --add-port=9200/tcp --permanent
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    防火墙可以通过打开9200端口或者关闭防火墙,让外部客户端可以访问。

    命令含义:

    –zone #作用域

    –add-port=80/tcp #添加端口,格式为:端口/通讯协议

    –permanent #永久生效,没有此参数重启后失效

    设置完毕后需要重启防火墙。

    5.3 查看es信息

    通过如下命令或通过浏览器打开http://192.168.1.102:9200

    curl http://192.168.1.102:9200
    
    • 1

    返回结果:

    {
      "name" : "node-sk-1",
      "cluster_name" : "suking-es-app",
      "cluster_uuid" : "L-r50kboQhW8tSWmufF2Xw",
      "version" : {
        "number" : "7.10.1",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
        "build_date" : "2020-12-05T01:00:33.671820Z",
        "build_snapshot" : false,
        "lucene_version" : "8.7.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    6. 关闭ES

    ES关闭使用 kill指令

    #查询ES的进程信息,获取进程ID
    ps -ef | grep elasticsearch
    
    #杀掉ES进程
    kill -9 1234  #1234为ES的进程ID
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    7. 设置ElasticSearch开机自启动

    参考链接

    二、《安装Kibana》

    1. 下载Kibana 7.10.1

    官网下载地址

    2.安装Kibana

    2.1 解压

    拷贝安装包到服务器的 /root/目录, 解压到/usr/local/software/

    tar -zxvf /root/kibana-7.10.1-linux-x86_64.tar.gz -C /usr/local/software/
    
    • 1

    2.2 配置Kibana

    #进入kibana配置文件目录
    cd /usr/local/software/kibana-7.10.1/config
    #编辑配置文件kibana.yml
    vi kibana.yml
    
    • 1
    • 2
    • 3
    • 4
    • 服务端口

      server.port: 5601

    • 服务IP地址

      server.host: “0.0.0.0”

    • 服务名称

      server.name: “my_kibana”

    • ElasticSearch实例地址

      elasticsearch.hosts: [“http://127.0.0.1:9200”]

    2.3 设置防火墙

    打开5601端口,重启防火墙

    #打开9200端口
    firewall-cmd --zone=public --add-port=5601/tcp --permanent
    #重启防火墙
    firewall-cmd --reload
    
    • 1
    • 2
    • 3
    • 4

    3. 启动Kibana

    #切换到elasticsearch用户
    su elasticsearch
    #启动Kibana
    nohup /usr/local/software/kibana-7.10.1/bin/kibana &
    
    • 1
    • 2
    • 3
    • 4

    4. 设置开机自启动

    参考链接

  • 相关阅读:
    计算机网络 第三章数据链路层
    力扣环形链表(1)进阶环形链表(2)及环形链表的约瑟夫问题
    jquery实现两个input表单内容互换的解决方案
    Python py文件打包成 exe文件
    Spring Boot Admin 监控指标接入Grafana可视化
    简于外 强于内,联想全新ThinkCentre M90a Pro Gen4以强劲性能开启商
    第二天表格练习
    vue:计算属性,监视属性,绑定class样式与style样式,自定义vue实例代码段
    使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器
    成员函数中的形参的缺省值是否可以使用成员变量?
  • 原文地址:https://blog.csdn.net/m0_67393295/article/details/126326703