elasticsearch7.0安装及配置优化
2023-09-14 09:12:25 时间
简单讲ES开箱即用,不用任何配置也能玩转搜索引擎;以下内容是根据易企秀线上实际使用场景进行的安装和配置,支持冷热数据分离
1、安装
- Linux 环境下载安装包
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz
- 解压
tar -xvf elasticsearch-7.0.0-linux-x86_64.tar.gz
- 因es7.0自带了java环境 ,所以不需要再单独下载JDK,进入bin目录直接启动即可
./elasticsearch -d # -d 意思是后台运行,需要注意的是es要求非Root用户启动
2、安装IK
- 下载
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.0/elasticsearch-analysis-ik-7.0.0.zip
- 在plugins目录下创建ik目录,并将elasticsearch-analysis-ik-7.0.0.zip解压到该目录
mkdir plugins/ik
unzip elasticsearch-analysis-ik-7.0.0.zip ik
- 重启es集群
3、优化
es的安装和配置是非常轻量级的,为满足多种不同的应用场景,底层提供多种数据结构支持,并做了大量的默认配置优化,部分配置针对具体的用户使用场景可能是冗余的,甚至可能造成性能的下降,需要根据实际业务场景做适当取舍,我们结合自身使用场景做了如下优化(文章中有疏漏或不正确的地方也欢迎点评指正)。
- 环境配置
sudo swapoff -a
# 禁用swapping,开启服务器虚拟内存交换功能会对es产生致命的打击
vm.max_map_count
# 在/etc/sysctl.conf文件中找到该参数,修改 655300 为 262144后 执行sysctl -p,不然启动时会报值太小
常用的配置在两个文件里,分别是 elasticsearch.yml 和 jvm.options(配置内存)
- jvm.options
jvm.options主要是进行内存相关配置,官方建议分配给es的内存不要超出系统内存的50%,预留一半给Lucene,因为Lucene会缓存segment数据提升检索性能;内存配置不要超过32g,如果你的服务器内存没有远远超过64g,那么不建议将es的jvm内存设置为32g,因为超过32g后每个jvm对象指针的长度会翻倍,导致内存与cpu的开销增大。
-Xms10g
-Xmx10g
- elasticsearch.yml
基础配置:
cluster.name
# 配置es集群名称,相同名称的集群会自动识别
node.name
# es7.0集群节点名称会自动获取本机hostname,如果不是多实例部署,可不配置该项
path.data
# 指定数据存放目录,多目录逗号分隔
path.logs
# 指定日志存放目录
network.host
# 指定本机ip地址
http.port
# 指定http协议端口 ,多实例部署时需要修改
transport.tcp.port
# 指定tcp协议端口,多实例部署时需要修改
cluster.initial_master_nodes: [" "]
# 指定主节点列表,需要在每个节点上配置该参数
discovery.zen.ping.unicast.hosts: []
# 广播节点
优化配置:
bootstrap.memory_lock: true
#设置为true锁住内存,当服务混合部署了多个组件及服务时,应开启此操作,允许es占用足够多的内存。
indices.breaker.request.limit: 10%
#设置单个request请求的内存熔断限制,默认是jvm堆的60%(es7.0引入了新的内存熔断机制,会智能判断,规避OOM)。
index.merge.scheduler.max_thread_count: 1
#设置segment合并时占用的线程数,配置线程数越多对磁盘io消耗就越大(SSD忽略)。
indices.queries.cache.size:20%
#query请求可使用的jvm内存限制,默认是10%。
indices.requests.cache.size:2%
#查询request请求的DSL语句缓存,被缓存的DSL语句下次请求时不会被二次解析,可提升检索性能,默认值是1%。
indices.fielddata.cache.size:30%
#设置字段缓存的最大值,默认无限制。
node.attr.box_type: hot
#用来对索引数据进行冷热分离,需要注意的是 setting 中也要进行相关配置 "index.routing.allocation.require.box_type": "hot"
作者:_江边城外_
链接:https://www.jianshu.com/p/119c2d0574d9
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
相关文章
- Linux安装Tomcat9[通俗易懂]
- Linux(Ubuntu20.04)安装配置Caffe环境(No module named caffe)
- Pycharm和Pytorch安装教程配置环境以及遇到的问题:
- 无障碍安装Windows11
- 【Puppet】安装配置Puppet
- nginx入门:功能介绍、安装、配置、优化及监控
- 全文检索工具solr:第二章:安装配置
- Windows Hexo博客安装配置优化(小白篇)
- 电气工程制图软件EPLAN2023最新中文版,EPLAN软件安装教程下载
- 【开发环境】Windows 系统中使用 Makefile 构建脚本编译 C 程序 ( 下载并安装 TDM-GCC 编译器 | 配置环境变量 | 编译 Makefile 程序 )
- Ubuntu 12.04 安装配置 Apache2详解程序员
- centos 6.5下安装oracle 11gR2与Oracle自动启动的配置
- Office 365系列(三) -Office 365 Pro plus 安装详解程序员
- 的安装Linux下Tomcat的安装与配置(linux中tomcat)
- 版快速安装百度浏览器,享受Linux上的极致体验(百度浏览器linux)
- MySQL配置与安装步骤指南(mysql配置安装)
- CentOS下RPM源的安装及配置(linuxrpm源)
- 智能手机安装Linux,革命性移动应用体验(手机能安装linux系统)
- 怎么配置Mysql安装后如何优化配置(mysql安装后)
- xcache 源码包编译安装
- 学习Linux的初学者必备: 用SCP安装文件(linuxscp安装)
- 以Linux U盘在XP上完成安装(linuxu盘安装xp)
- Linux下快速安装显卡驱动的指南(linux装显卡驱动)
- Linux上Yum一键安装,轻松搞定!(yumlinux)
- Oracle系统典型安装与配置指南(oracle典型安装配置)
- 简易轻松苹果系统里安装Redis(苹果系统安装redis)
- 快速安装配置TP32缓存Redis方案(tp3.2配置redis)
- MySQL下载详细教程轻松掌握安装及配置方法(mysql下载详细教程)
- php安装xdebug/php安装pear/phpunit详解步骤(图)