elasticsearch 生成环境配置建议

一、Hardware
1.内存:物理机内存最好能在64G,ES进程的最大堆内存配置不要超过32G.另外需要关闭交换内存 swapoff -a.
2.CPU:选择多核心cpu。即使单核cpu主频低一些也要选择多核心的cpu。
3.Disk:最好选择SSD硬盘,磁盘阵列最好选择RAID0,因为ES自身对数据做过冗余。另外避免使用NFS挂载。
4.network:数据中心的带宽保证在1 GbE,10 GbE,避免一个集群跨多个数据中心。
总结:硬件选择不需要配置超高的机器,配置过高对应集群来说是一种浪费;也不要选择配置太差的机器,成百上千太低配置的机器组成的机器对于运维起来也相当困难,最好现在配置中等的机器。


JVM
无论是oracle的jdk还是openKDK,最好选择jdk 7


transport client VS  node client
1.node client自身也作为ES集群的一个节点,可以被选举为master。集群升级选择比较困难,需要把所有这种节点的客户端一起升级。
2.transport client相当于提供一个访问ES集群的中间层


二、配置管理
如果你有成百上千个节点最好使用parallel-ssh进行配置批量管理


ES配置调优
1.配置数据、插件数据和日志路径,es默认将数据和日志放在ES的安装目录,官方建议配置其他目录,避免集群升级将数据删除。
path.data: /path/to/data1,/path/to/data2 


# Path to log files:
path.logs: /path/to/logs


# Path to where plugins are installed:
path.plugins: /path/to/plugins
2.
discovery.zen.minimum_master_nodes用于控制选举行为发生的最小集群节点数量。推荐设为大于1的数值,因为只有在2个以上节点的集群中,主节点才是有意义的。
gateway.recover_after_nodes: 1
设置集群中N个节点启动时进行数据恢复,默认为1。
gateway.recover_after_nodes: 1
设置集群中N个节点启动时进行数据恢复,默认为1。


gateway.recover_after_time: 5m
设置初始化数据恢复进程的超时时间,默认是5分钟。


gateway.expected_nodes: 2
设置这个集群中节点的数量,默认为2,一旦这N个节点启动,就会立即进行数据恢复。


discovery.zen.ping.multicast.enabled: false  


设置是否打开多播发现节点,默认是true。 
当禁用multcast广播的时候,可以手动设置集群的节点ip 


设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。 
Java代码  收藏代码
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]  


调整操作系统的最大文件句柄数,默认值是1024,最好修改为65535
调整方法:
vi /etc/sysctl.conf
fs.file-max = 131071 或者 65535 (128k或64k)


三、内存配置

1.配置es JVM 堆内存。

可以在进程启动的命令后面添加,eg:./bin/elasticsearch -Xmx32g -Xms32g ;也可以在es启动脚本elasticsearch.in.sh中添加,

eg:if [ "x$ES_MIN_MEM" = "x" ]; then
    ES_MIN_MEM=32g
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
    ES_MAX_MEM=32g
fi
if [ "x$ES_HEAP_SIZE" != "x" ]; then
    ES_MIN_MEM=$ES_HEAP_SIZE
    ES_MAX_MEM=$ES_HEAP_SIZE
fi

2.关闭操作系统交换内存

sudo swapoff -a

另外在配置文件elasticsearch.yml中配置bootstrap.mlockall: true,允许JVM锁住内存,防止被OS交换内存换出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值