• Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)


    前言

    本文主要介绍Linux下ElasticSearch7.9.2安装,目前是介绍单节点的配置

    应用版本说明
    操作系统centos7稳定、高预测性、高管理性、高重复性的Linux平台
    elasticsearch7.9.2es7.x的linux版本
    jdk8本人使用JDK 8;ES建议使用JDK 11 启动的时候会有警告但是不会报错,可以忽略

    1.下载安装

    1.1 使用wget的方式下载

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz
    
    • 1

    在这里插入图片描述

    1.2 官网下载

    此种方式可能比较慢,需要耐心等待。官网下载:Elasticsearch 7.9.2
    选择Linux的tar包模式下载,然后上传到服务器目录
    在这里插入图片描述

    2.上传到服务器并解压

    解压缩命令:

    tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz 
    
    • 1

    在这里插入图片描述

    3.修改es配置文件

    3.1 es目录简介

    • bin:下面存放着Es启动文件 elasticsearch.bat/elasticsearch
    • config:配置目录
    • data: 数据目录
    • jdk、lib:Java运行环境以及依赖包
    • logs:日志目录
    • modules、plugins:模块及插件目录,head插件可以存放在plugins目录下

    3.2 修改配置文件

    注意path.datapath.logs需要配置指定的路径

    #默认的集群名称,在集群配置多个节点时需要保持一致,单机可暂不关注
    cluster.name: elasticsearch
    node.name: es-node0
    cluster.initial_master_nodes: ["es-node0"]
    
    # 指定数据存储位置
    path.data: /data1/elasticsearch-7.9.2/data
     
    #日志文件位置
    path.logs: /data1/elasticsearch-7.9.2/logs
    
    #默认只允许本机访问,修改为0.0.0.0后则可以允许任何ip访问
    network.host: 0.0.0.0
    
    #设置http访问端口,9200是http协议的RESTful接口,注意端口冲突可修改
    http.port: 9200
    
    # 跨域问题配置
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    4. 创建用户并赋权

    1.先创建用户

    adduser es

    2.es用户创建密码

    passwd es

    在这里插入图片描述
    3.创建所属组

    chown es:es -R /data1/elasticsearch-7.9.2

    在这里插入图片描述

    5. 服务器修改配置

    下面操作5.1和5.2步骤完成后都需要系统重启,可以先按步骤完成后,重启一次即可

    5.1 修改文件句柄数和线程数

    防止es用户可创建文件权限过低导致报错

    vim  /etc/security/limits.conf
    
    • 1

    添加以下内容:

    #句柄
    es  soft nofile 65536
    es  hard nofile 65536
    #线程
    es  soft nproc 4096
    es  hard nproc 4096
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    保存退出后需要系统重启!

    上述配置是为了解决:

    报错问题:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
    问题描述:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

    重启服务器后验证

    su es
    ulimit -Hn
    ulimit -Sn
    ulimit -Hu
    ulimit -Su
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5.2 关闭swapping

    官方建议:把内存的一半给Lucene+不要超过32G+关闭swap
    ES建议要关闭 swap 内存交换空间,禁用swapping。因为当内存交换到磁盘上,一个100微秒的操作可能变成 10毫秒,然后100 微秒的操作时延累加起来,可以看出 swapping 对于性能的影响是致命的

    vim /etc/fstab
    
    • 1

    注释含有swap一行
    在这里插入图片描述
    保存退出后需要系统重启!

    注释前:
    在这里插入图片描述
    注释后:
    在这里插入图片描述

    5.3 修改虚拟内存

    vim /etc/sysctl.conf
    
    • 1

    添加以下内容:

    vm.max_map_count=262144
    
    • 1

    保存退出,刷新配置文件

    sysctl -p
    
    • 1

    验证是否修改成功

    sysctl vm.max_map_count
    
    • 1

    上述配置是为了解决:

    报错问题:max virtual memory areas vm.max_map_count [65530] is too low,
    increase to at least [262144]

    6. 启动es

    6.1 前台运行启动es(不推荐)

    切换用户到es,使用es用户启动elasticsearch,此种方式Ctrl + C 则程序终止

    # 切换到es用户,使用root用户启动会报错
    su es
    
    # 进入到es的bin目录
    cd /data1/elasticsearch-7.9.2/bin
    
    # 执行启动脚本,此种方式Ctrl + C 则程序终止
    ./elasticsearch
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    ctrl + c 停止运行
    在这里插入图片描述

    注意:如果root用户启动会报错
    报错问题:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as rootes
    问题描述:不能用root用户启动,必须创建es用户来启动
    在这里插入图片描述

    6.2 后台守护进程方式运行(推荐)

    # 切换到es用户,使用root用户启动会报错
    su es
    
    # 进入到es的bin目录
    cd /data1/elasticsearch-7.9.2/bin
    
    # 执行启动脚本,守护进程方式运行
     ./elasticsearch -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    关闭ES服务

    kill -9 pid
    
    • 1

    在这里插入图片描述

    6.3 自定义启动与关闭脚本(推荐)

    创建启动脚本

    # 创建es启动脚本文件
    touch es-start.sh
    # 编辑脚本
    vim es-start.sh 
    # 设置用户组
    chown es:es es-start.sh 
    # 设置执行权限
    chmod 755 es-start.sh 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    es-start.sh

    cd /data1/elasticsearch-7.9.2
    ./bin/elasticsearch -d -p pid
    
    • 1
    • 2

    创建停止脚本

    # 创建es停止脚本文件
    touch es-stop.sh
    # 编辑脚本
    vim es-stop.sh 
    # 设置用户组
    chown es:es es-stop.sh 
    # 设置执行权限
    chmod 755 es-ststoprt.sh 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    es-stop.sh

    cd /data1/elasticsearch-7.9.2
    if [ -f "pid" ]; then
    pkill -F pid
    fi
    
    • 1
    • 2
    • 3
    • 4

    启动与关闭
    在这里插入图片描述

    7.开放防火墙端口

    #查看防火墙状态
    systemctl status firewalld 
    #查看开放的端口
    firewall-cmd --query-port=9200/tcp
    #添加端口
    firewall-cmd --zone=public --add-port=9200/tcp --permanent 
    #重载防火墙
    firewall-cmd --reload 
    #再次查看端口是否已经开放
    firewall-cmd --query-port=9200/tcp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    8. 安装chrome可视化head插件

    访问es数据库的Chrome插件
    先解压到本地目录,然后在chrome中 安装这个插件
    在这里插入图片描述
    选择解压的目录然后安装
    在这里插入图片描述
    输入es连接地址,点击连接,健康值绿色即表示成功启动
    在这里插入图片描述

  • 相关阅读:
    遥感数据经纬度(0-360)转(-180,180)
    clickhouse 单节点多实例部署
    MySQL第七讲·怎么利用聚合函数实现高效地分组统计?
    【新书推荐】当 Python 遇到 ChatGPT —— 自动化办公落地
    【HDU100】杭电入门一百道 C++ 全 题 解
    基于Android的个人健康管理系统
    ChatGPT数据集之谜
    两化融合贯标是指什么
    UNI APP---Android端原生插件开发实战(一)
    人大女王金融硕士项目——不断挑战自己,提升自己就在现在
  • 原文地址:https://blog.csdn.net/qq_29864051/article/details/131145003