Hen*_*hiu 7 lucene elasticsearch
当我通过我的ElasticSearch服务器设置
curl -XGET localhost:9200/_cluster/settings
Run Code Online (Sandbox Code Playgroud)
我看到持久和瞬态的设置.
{
"persistent": {
"cluster.routing.allocation.cluster_concurrent_rebalance": "0",
"threadpool.index.size": "20",
"threadpool.search.size": "30",
"cluster.routing.allocation.disable_allocation": "false",
"threadpool.bulk.size": "40"
},
"transient": {}
}
Run Code Online (Sandbox Code Playgroud)
如果我设置了持久性设置,它不会将其保存到我的config/elasticsearch.yml配置文件中?所以我的问题是当我的服务器重新启动时,它如何知道我的持久设置是什么?
不要告诉我不要担心它,因为我几乎丢失了我的整个集群数据,因为它在重新启动后获取了我的配置文件中的所有设置,而不是上面显示的持久设置:)
imo*_*tov 15
持久性设置存储在全局群集状态文件中的每个符合主节点的节点上,该文件可以在Elasticsearch数据目录中找到:data/CLUSTER_NAME/nodes/N/_state,其中CLUSTER_NAME是群集的名称,并且N是节点编号(0如果这是此计算机上的唯一节点) ).文件名具有以下格式:global-NNN其中NNN是群集状态的版本.
除持久设置外,此文件还可能包含其他全局元数据,例如索引模板.默认情况下,全局群集状态文件以二进制SMILE格式存储.出于调试目的,如果要查看此文件中实际存储的内容,可以通过在elasticsearch.yml文件中添加以下行来将此文件的格式更改为JSON :
format: json
每次群集状态更改时,所有符合主节点的节点都会存储新版本的文件,因此在群集重新启动期间,首先启动并选择自身为主节点的节点将具有最新版本的群集状态.如果您在其中一个符合条件的节点不属于群集时更新了设置(因此无法使用您的设置存储最新版本),并且在重新启动后此节点成为群集主节点,则可以进行描述并将其过时的设置传播到所有其他节点.
| 归档时间: |
|
| 查看次数: |
3696 次 |
| 最近记录: |