写在前面

在部署前尽量回顾一下这一章节的内容,以做到心里有数。
部署时,考虑的三个点:

  • 后勤方面:硬件,部署策略建议
  • 更适合生产环境的配置更改
  • 部署后的考虑:安全,最大限度的索引性能,备份

    硬件

    ES为重cpu、重io、重内存应用场景,性能更好的cpu能提升查询效率,更多的内存、更快的磁盘io对于写入能带来更好的提升。

    内存

    内存建议64Gb,尽量保持有一半以上的内存留给文件缓存。堆内存经过实际场景压测,5.4版本堆内存建议26-30G之间,7.1版本建议30G

    CPUs

    尽量选择多核CPU

    硬盘

    SSD>raid 0 HHD>HHD 不要使用NAS! 按照顺丰的情况,尽量使用ssd,并且使用直通盘的形式挂载。

    网络

  • 建议使用1GbE,10GbE

  • 尽量避免跨越多个数据中心

    总结

    尽量选择中高配的机器,避免高配机器,减少逻辑复杂度

    java 虚拟机

    尽量使用最新版本的jdk

    重要配置

    基本配置 ```bash cluster.name: elasticsearch_production node.name: elasticsearch_005_data path.data: /path/to/data1,/path/to/data2

Path to log files:

path.logs: /path/to/logs

network

network.host: 192.168.1.1 transport.tcp.port: 9300

node role

node.master: true (default: true) node.data: false (default: true)

restful port

http.enabled: true (default: true) http.port: 9200 (default: none)

discovery config

discovery.zen.ping.unicast.hosts: [“host1”, “host2:port”] discovery.zen.ping_timeout: 10s discovery.zen.fd.ping_timeout: 120s discovery.zen.fd.ping_retries: 5 discovery.zen.fd.ping_interval: 20s

  1. 最小主节点 防止脑裂的配置。配置建议为:(master候选节点/2)+1 修改方式有两种:
  2. ```bash
  3. discovery.zen.minimum_master_nodes: 2
  4. PUT /_cluster/settings
  5. {"persistent" : {
  6. "discovery.zen.minimum_master_nodes" : 2
  7. }
  8. }

集群恢复配置

  1. gateway.recove_after_nodes:8
  2. gateway.expected_nodes: 10
  3. gateway.recover_after_time: 5m
  4. 防止同一个分片的主副本存在同一个物理机上
  5. cluster.routing.allocation.same_shard.host: true
  6. 内存lock bootstrap.memory_lock: true

jvm重要配置

  1. #内存大小
  2. -Xms32g
  3. -Xmx32g
  4. #gc回收器
  5. -XX:+UseConcMarkSweepGC
  6. -XX:CMSInitiatingOccupancyFraction=75
  7. -XX:+UseCMSInitiatingOccupancyOnly
  8. -XX:+DisableExplicitGC #heapdump配置
  9. -XX:+HeapDumpOnOutOfMemoryError
  10. -XX:HeapDumpPath=/log

系统配置

关闭swapping

  1. vim sysctl:
  2. vm.swappiness=1

mmap最大映射数量

  1. vim /etc/sysctl.conf
  2. vm.max_map_count=262144

文件描述符

  1. * soft nproc 65536
  2. * hard nproc 65536
  3. * soft nofile 524288
  4. * hard nofile 524288
  5. * soft memlock unlimited
  6. * hard memlock unlimited