elasticsearch单节点部署及内存调优

1.elasticsearch的部署1.1.elasticsearch的安装访问安装方式优点缺点

docker1.部署方便<br>2.直接run就可以使用<br>3.启动迅速1.需要有docker知识<br>2.修改配置复杂<br>3.数据存储需要挂载目录tar1.部署灵活<br>2.对系统侵占性小1需要自己写启动管理文件<br>2.目录需要提前规划好rpm1.部署方便<br>2.启动脚本安装即用<br>3.存放目录标准化1软件各个组件分散在不同的目录<br>2.卸载可能不干净<br>3.默认配置需要修改ansible1.极其灵活<br>2.批量部署速度快1.需要有ansible知识<br>2.提前准备好所有文件

1.2.部署elasticsearch1.准备Java环境[root@elastic ~]# yum -y install java[root@elastic ~]# java -versionopenjdk version "1.8.0_262"OpenJDK Runtime Environment (build 1.8.0_262-b10)OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)2.下载elasticsearch rpm包[root@elastic ~]# mkdir soft[root@elastic ~]# cd soft[root@elastic soft]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.rpm[root@elastic soft]# ll -h-rw-r–r–. 1 root root 109M 11月 15 08:58 elasticsearch-6.6.0.rpm3.安装elasticsearch[root@elastic soft]# yum -y localinstall elasticsearch-6.6.0.rpm4.启动elasticsearch[root@elastic soft]# systemctl daemon-reload [root@elastic soft]# systemctl start elasticsearch[root@elastic soft]# systemctl enable elasticsearch

注意下图这个提示是要求重新加载一下systemctl,否则修改配置文件重启时会报错

1.3.验证是否启动elasticsearch1.curl方式,目前只能通过127.0.0.1访问,因为配置文件中已经写死[root@elastic soft]# curl 127.0.0.1:9200{ "name" : "MKtLqho", "cluster_name" : "elasticsearch", "cluster_uuid" : "lpRFdQbeTqyKSGph_xECfg", "version" : { "number" : "6.6.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "a9861f4", "build_date" : "2019-01-24T11:27:09.439740Z", "build_snapshot" : false, "lucene_version" : "7.6.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search"}2.查看端口和进程[root@elastic soft]# netstat -lnpt | grep 9200 [root@elastic soft]# lsof -i:9200[root@elastic soft]# ps aux | grep elastic1.4.elasticsearch配置文件介绍[root@elastic soft]# rpm -qc elasticsearch/etc/elasticsearch/elasticsearch.yml/etc/elasticsearch/jvm.options/etc/elasticsearch/log4j2.properties/etc/elasticsearch/role_mapping.yml/etc/elasticsearch/roles.yml/etc/elasticsearch/users/etc/elasticsearch/users_roles/etc/init.d/elasticsearch/etc/sysconfig/elasticsearch/usr/lib/sysctl.d/elasticsearch.conf/usr/lib/systemd/system/elasticsearch.service文件作用

/etc/elasticsearch/elasticsearch.yml主配置文件/etc/elasticsearch/jvm.optionsjvm 内存调优文件/etc/init.d/elasticsearchinit启动脚本/etc/sysconfig/elasticsearch环境变量相关,不需要改动/usr/lib/sysctl.d/elasticsearch.conf环境变量相关/usr/lib/systemd/system/elasticsearch.servicesystemctl启动脚本

2.elasticsearch调优

2.1.jvm调优

配置文件路径/etc/elasticsearch/jvm.options

主要修改:

?-Xms1g//最小内存?-Xmx1g//最大内存

最大最小设置成一样的

elasticsearch特别费系统内存,因此这个配置文件调优是必做的,一般调优方式就是一半的系统内存给elasticsearch使用,但是切记不要超过30G,30G以后性能不会再提升反而会下降

有一点,假如系统内存就30G如何分配,首先给8G内存,等用一段时间后觉得不够用在调整到到16G,在不够用24G,24G以后就不要在使用了,因为要给系统留一部分内存

在生产环境时可以把数据拷贝到测试环境具体测试用多少内存比较合适

[root@elastic ~]# vim /etc/elasticsearch/jvm.options -Xms1g-Xmx1g

2.2.swap调优

官方建议关掉swap交换分区

[root@elastic ~]# free -h total used free shared buff/cache availableMem: 1.8G 1.5G 72M 9.3M 177M 55MSwap: 2.0G 104M 1.9G[root@elastic ~]# swapoff -a[root@elastic ~]# free -h total used free shared buff/cache availableMem: 1.8G 1.6G 57M 16M 128M 13MSwap: 0B 0B 0B永久关闭方式[root@elastic ~]# vim /etc/fstab /dev/mapper/centos-swap swap swap defaults 0 0将配置文件中swap这一行删掉即可3.配置elasticsearch

配置文件最主要的配置

配置含义

node.name: node-1节点名称,集群模式的时候使用path.data: /data/elasticsearch数据存储路径path.logs: /var/log/elasticsearch日志存储路径bootstrap.memory_lock: true锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高,简单来说就是锁定物理内存,让jvm配置的内存生效network.host: 192.168.81.240主机IPhttp.port: 9200端口

1.先将配置文件备份一下[root@elastic ~]# cd /etc/elasticsearch/[root@elastic elasticsearch]# cp elasticsearch.yml elasticsearch.yml.bak2.修改默认配置[root@elastic ~]# vim /etc/elasticsearch/elasticsearch.yml node.name: node-1path.data: /data/elasticsearchpath.logs: /var/log/elasticsearchbootstrap.memory_lock: truenetwork.host: 192.168.81.210http.port: 92003.创建数据路径并授权[root@elastic ~]# mkdir /data/elasticsearch -p[root@elastic ~]# chown -R elasticsearch.elasticsearch /data/elasticsearch/修改属主的理由,因为elasticsearch是由普通用户管理的,因此需要修改属主默认路径就是这个用户[root@elastic ~]# ll -d /var/lib/elasticsearch/drwxr-x—. 3 elasticsearch elasticsearch 19 11月 15 09:01 /var/lib/elasticsearch/4.重启elasticsearch[root@elastic ~]# systemctl restart elasticsearch 是清晰的又是朦胧的,是一杯苦茶,最后却品出清雅之香。

elasticsearch单节点部署及内存调优

相关文章:

你感兴趣的文章:

标签云: