我有一个Elasticsearch设置,到目前为止,它有一台机器(16核64GB RAM 4x800GB SSD,在450个索引中包含1.5TB的日志数据,运行ES 5.1。
现在,我向集群添加了第二台相同的服务器。两者都通过10GBit网络连接。
所有索引都具有1个分片,并且我已将它们配置为在第二台服务器联机后具有1个副本。
现在,正在创建副本,但速度很慢。两台计算机上的负载均低于1,IO速率约为2MB / s或更低。
我正在运行以下设置:
{
"persistent": {
"cluster": {
"routing": {
"allocation": {
"node_concurrent_incoming_recoveries": "20",
"node_initial_primaries_recoveries": "8",
"node_concurrent_outgoing_recoveries": "20"
}
}
},
"indices": {
"recovery": {
"max_bytes_per_sec": "400mb"
},
"store": {
"throttle": {
"type": "none"
}
}
}
},
"transient": {
"logger": {
"org": {
"elasticsearch": {
"indices": "DEBUG"
}
}
}
}
}
ES 5中似乎不再存在index.store.throttle.type。
以目前的速度,传输所有数据将需要数周的时间。
最佳答案
我在这里发现了问题-节点宣布了错误的网卡的IP,所有数据均通过慢速链接进行路由。
我应该早些考虑过iftop。
更改已宣布的IP后,复制的工作速度> 800MB / s。
关于performance - 提高Elasticsearch副本创建性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247436/