当前位置 : 主页 > 编程语言 > java >

Elasticsearch环境配置

来源:互联网 收集:自由互联 发布时间:2022-07-13
操作系统环境设置: 关闭防火墙 service firewalld stop chkconfig firewalld off 建议配置下hostname vim / etc / sysconfig / network vim / etc / sysctl . conf 内存与磁盘配置 # 禁用内存与磁盘交换 vm . swappiness


操作系统环境设置:

关闭防火墙

service firewalld stop
chkconfig firewalld off

建议配置下hostname

vim /etc/sysconfig/network
vim /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 elastic
chown -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目录下,有部分操作系统会限制应用此挂载。

# 在JVM.options文件中配置
-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路径设置

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

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


网友评论