• Elasticsearch环境配置


    操作系统环境设置:

    关闭防火墙

    service firewalld stop
    chkconfig firewalld off
    
    • 1
    • 2

    建议配置下hostname

    vim /etc/sysconfig/network
    vim /etc/sysctl.conf
    
    • 1
    • 2

    内存与磁盘配置

    # 禁用内存与磁盘交换
    vm.swappiness=1
    # 设置虚拟内存大小
    vm.max_map_count=262144
    
    vim /etc/security/limits.conf
    # 进程线程数
    * soft nproc 131072
    * hard nproc 131072
    # 文件句柄数
    * soft nofile 131072
    * hard nofile 131072
    # 内存锁定交换
    * soft memlock unlimited
    * hard memlock unlimited
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    创建ES专用账号

    useradd elastic
    chown -R elastic:elastic /es/*
    
    • 1
    • 2

    JVM环境变量:

    vim /etc/profile
    
    
    export JAVA_HOME=/jdk.
    export JRE_HOME=$JAVA_HOME/jre
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA/lib:$JRE_HOME/lib
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    查看java进程jps

    JVM临时目录:两种方式

    # 默认/tmp目录,部分情况下会异常
    export ES_TMPDIR=/elk/jvm_tmpdir
    
    # 在JVM.options文件中修改
    # JVM tmporary directory
    -Djava.io.tmpdir=${ES_TMPDIR}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    JNA临时目录

    Java Native Access
    ES启动需要使用JNA执行系统层面的指令,默认临时目录访问会挂在/tmp目录下,有部分操作系统会限制应用此挂载。

    # 在JVM.options文件中配置
    -Djna.tmpdir=/elk/jna-tmpdir
    
    • 1
    • 2

    elasticsearch.yml

    # 集群名称
    cluster.name:elk01
    # 节点名称
    node.name:${HOSTNAME}-9200
    # IP地址
    network.host:192.168.0.2
    # http端口
    http.port:9200
    # TCP端口
    transport.port:9300
    # 集群发现
    discovery.xx
    cluster.xx.xx
    # 数据目录
    path.data:/elk/data
    # 日志目录
    path.logs:/elk/log
    # 内存锁定 虚拟内存,防止交换
    bootstrap.memory_log:true
    # 线程数
    node.processors:4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    启动命令

    windows系统:.bat
    Linux系统:
    当前窗口:./elasticsearch
    后台启动:./elasticsearch -d &
    查看java进程:jps
    查看端口:netstat -tnplu

    配置JVM.yml

    JDK选择,建议使用官方,自主配置。
    GC选择 7.8.1已经采集G1,以下采用CMS,防止内存泄漏风险。
    堆栈大小:默认4GB,
    不超过1/2系统内存,
    空余1/2闲置内存
    内存上限不超过32G,且不能等于32G(超过32G会JVM压缩)
    GC日志:gc.log路径设置

    vim {ES_HOME}/config/jvm.options
    
    
    # 内存堆栈大小,
    -Xms1g
    -Xmx1g
    # 垃圾回收器CMS与G1,当前CMS依然最好
    8-13:-XX:+UserConcMarkSweepGC
    14-:-XX:+UseG1GC
    # GC.log目录,便于排查gc问题,生产需要修改路径
    8:-Xloggc:logs/gc.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Docker配置

    # elastic yml 配置
    cluster.name:elk01
    node.name:${HOSTNAME}-docker-9200
    network.host:0.0.0.0
    discovery.seed_hosts:["192.169.200.100:9301", "192.169.200.100:9302", "192.169.200.100:9303"]
    cluster.initial_master_nodes:["192.169.200.100:9301", "192.169.200.100:9302", "192.169.200.100:9303"]
    
    
    # 查看docker网络
    docker images
    # 查看docker网络
    docker network ls
    # 查看docker进程
    docker ps -a
    # 删除镜像
    docker rm es9200x  
    docker run --name es9200x --network=host -p 9200:9200 -p 9300:9300 -v /elk/docker-files/elasticsearch-9200.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:7.11.1
    # 名字es9200x,网络是本机,端口一样,本地的elasticsearch-9200.yml文件覆盖指向elasticsearch.yml,镜像文件是docker.elastic.co/elasticsearch/elasticsearch:7.11.1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    插件

    Elasticsearch-Head(Chrome浏览器插件)
    Elasticvue(Edge浏览器插件)
    Cerebro,支持docker

  • 相关阅读:
    什么是0day漏洞?如何预防0day攻击?
    pat basic 1084 外观数列
    ​LeetCode解法汇总2864. 最大二进制奇数
    史上最详细的hadoop安装教程(含坑点)
    Master Theorem
    CSS SASS calc() 计算表达式或使用变量
    文件读写--python基础
    基于微信花店鲜花商城小程序系统设计与实现 开题报告
    怎么压缩gif图大小,gif压缩到微信表情
    通信达行情接口有什么用?
  • 原文地址:https://blog.csdn.net/m0_67394360/article/details/126362425