操作系统环境设置: 关闭防火墙 service firewalld stop chkconfig firewalld off 建议配置下hostname vim / etc / sysconfig / network vim / etc / sysctl . conf 内存与磁盘配置 # 禁用内存与磁盘交换 vm . swappiness
操作系统环境设置:
关闭防火墙
service firewalld stopchkconfig firewalld off
建议配置下hostname
vim /etc/sysconfig/networkvim /etc/sysctl.conf
内存与磁盘配置
# 禁用内存与磁盘交换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
*
创建ES专用账号
useradd elasticchown -R elastic:elastic /es/*
JVM环境变量:
vim /etc/profileexport JAVA_HOME=/jdk.export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA/lib:$JRE_HOME/lib
查看java进程jps
JVM临时目录:两种方式
# 默认/tmp目录,部分情况下会异常export ES_TMPDIR=/elk/jvm_tmpdir
# 在JVM.options文件中修改
# JVM tmporary directory
-Djava.io.tmpdir=${ES_TMPDIR}
JNA临时目录
Java Native Access
ES启动需要使用JNA执行系统层面的指令,默认临时目录访问会挂在/tmp目录下,有部分操作系统会限制应用此挂载。
-Djna.tmpdir=/elk/jna-tmpdir
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
启动命令
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路径设置
-Xms1g
-Xmx1g
# 垃圾回收器CMS与G1,当前CMS依然最好
8-13:-XX:+UserConcMarkSweepGC
14-:-XX:+UseG1GC
# GC.log目录,便于排查gc问题,生产需要修改路径
8:-Xloggc:logs/gc.log
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
插件
Elasticsearch-Head(Chrome浏览器插件)
Elasticvue(Edge浏览器插件)
Cerebro,支持docker