Elasticsearch环境配置

网友投稿 780 2022-11-02 09:25:05

Elasticsearch环境配置

操作系统环境设置:

关闭防火墙

service firewalld stopchkconfig firewalld off

建议配置下hostname

vim /etc/sysconfig/networkvim /etc/sysctl.conf

内存与磁盘配置

# 禁用内存与磁盘交换vm.swappiness=1# 设置虚拟内存大小vm.max_map_count=262144vim /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/profile

export JAVA_HOME=/jdk.export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$PATHexport 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# TCP端口transport.port:9300# 集群发现discovery.xxcluster.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:+UserConcMarkSweepGC14-:-XX:+UseG1GC# GC.log目录,便于排查gc问题,生产需要修改路径8:-Xloggc:logs/gc.log

Docker配置

# elastic yml 配置cluster.name:elk01node.name:${HOSTNAME}-docker-9200network.host:0.0.0.0discovery.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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:eventflow 基于xml的事件编排框架,轻量级事件流引擎
下一篇:Thunder ⚡️ 一个Go框架用于快速构建强大的graphql服务
相关文章