Centos7.5中elasticsearch7.0.1安装及配置优化

简单讲述ES开箱即用,不用任何配置也能玩转搜索引擎,以下是在centos7.5中安装ES过程。
注意:下面的过程是在一台服务器上模拟的3个节点的集群搭建。

服务器信息

服务器IP安装路径http端口transport端口操作系统ES版本节点名称
10.0.0.2/usr/local/elk-7.0.1/5920159301CentOS7.57.0.1node-1
10.0.0.2/usr/local/elk-7.0.1/5920359303CentOS7.57.0.1node-2
10.0.0.2/usr/local/elk-7.0.1/5920559305CentOS7.57.0.1node-3

创建 elastic 用户

useradd -m elastic

修改系统配置信息

  • 禁用swapping,开启服务器虚拟内存交换功能会对elasticsearch 产生致命的打击
sudo swapoff -a
  • 增加 /etc/sysctl.conf 配置,执行 sysctl -p 生效
vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
  • 增加 /etc/security/limits.conf 配置
vi /etc/security/limits.conf 
elastic soft nofile 100001
elastic hard nofile 100002
elastic soft memlock unlimited
elastic hard memlock unlimited

下载并解压

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz
tar -zxf elasticsearch-7.0.1-linux-x86_64.tar.gz 
mv elasticsearch-7.0.1 /usr/local/elk-7.0.1/

部署ES

  • 修改 elasticsearch 目录的权限
chown -R elastic.elastic /usr/local/elk-7.0.1/elasticsearch-7.0.1
  • jvm.options配置文件

jvm.options主要是进行java虚拟机的相关配置,官方建议分配给es的内存不要超出系统内存的50%,预留一半给Lucene,因为Lucene会缓存segment数据提升检索性能;内存配置不要超过32g,如果你的服务器内存没有远远超过64g,那么不建议将es的jvm内存设置为32g,因为超过32g后每个jvm对象指针的长度会翻倍,导致内存与cpu的开销增大。

vi config/jvm.options
-Xms4g
-Xmx4g
  • elasticsearch.yml配置文件
vi config/elasticsearch.yml

基础配置:

# 配置es集群名称,相同名称的集群会自动识别
cluster.name: test-cluster
# es7.0集群节点名称会自动获取本机hostname,如果不是多实例部署,可不配置该项
node.name: node-1
# 是否为主节点
node.master: true 
# 是否开启数据节点
node.data: true
# 预处理数据 
node.ingest: true 
# 指定数据存放目录,多目录逗号分隔,可以配置相对ES根目录路径
path.data: data
# 指定日志存放目录,可以配置相对ES根目录路径
path.logs: logs
# 指定本机ip地址
network.host: 10.0.0.2
# 指定http协议端口,默认9200,多实例部署时需要修改
http.port: 59201
# 是否允许跨域请求
http.cors.enabled: true
# 允许跨域请求的地址,*代表所有
http.cors.allow-origin: "*"
# 指定tcp协议端口,默认9300,多实例部署时需要修改
transport.port: 59301
# 广播节点
discovery.seed_hosts: ["10.0.0.2:59301", "10.0.0.2:59303", "10.0.0.2:59305"]
# 指定主节点列表,需要在每个节点上配置该参数,可以是节点名称,也可以是IP地址
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
# 在完全群集重新启动后阻止初始恢复,直到n个节点启动
gateway.recover_after_nodes: 3
# 设置许可证(基础版)
xpack.license.self_generated.type: basic

优化配置:

# 设置为true锁住内存,当服务混合部署了多个组件及服务时,应开启此操作,允许es占用足够多的内存。
bootstrap.memory_lock: true
# 设置单个request请求的内存熔断限制,默认是jvm堆的60%(es7.0引入了新的内存熔断机制,会智能判断,规避OOM)。
indices.breaker.request.limit: 10%
# 设置segment合并时占用的线程数,配置线程数越多对磁盘io消耗就越大(SSD忽略)。
#index.merge.scheduler.max_thread_count: 1
# query请求可使用的jvm内存限制,默认是10%。
indices.queries.cache.size: 20%
# 查询request请求的DSL语句缓存,被缓存的DSL语句下次请求时不会被二次解析,可提升检索性能,默认值是1%。
indices.requests.cache.size: 2%
# 设置字段缓存的最大值,默认无限制。
indices.fielddata.cache.size: 30%
# 用来对索引数据进行冷热分离,需要注意的是 setting 中也要进行相关配置 "index.routing.allocation.require.box_type": "hot"
node.attr.box_type: hot

节点2与节点3拷贝上面配置好的ES,在此之上,修改elasticsearch.yml配置文件中的下列参数:

node.name: node-2
network.host: 10.0.0.2
http.port: 59203
transport.port: 59303
node.name: node-3
network.host: 10.0.0.2
http.port: 59205
transport.port: 59305

安装插件

安装中文分词插件IK,插件版本要与ES版本保持一致,执行下面命令进行安装:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.1/elasticsearch-analysis-ik-7.0.1.zip

安装pinyin插件,插件版本要与ES版本保持一致,执行下面命令进行安装:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.0.1/elasticsearch-analysis-pinyin-7.0.1.zip

每个节点都需要进行安装,或者安装之后再将ES拷贝。

启动ES

su - elastic -c '/opt/elasticsearch/bin/elasticsearch -d'

ES 常用地址

 1. 查看节点状态
curl http://10.0.0.2:59201/_cat/nodes?pretty
 2. 查看集群状态
curl http://10.0.0.2:59201/_cluster/state?pretty

链接:
ES集群节点角色配置组合

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值