我有一个elasticsearch索引,它在一个分片中的单个节点上包含大约5 GB的数据。现在我创建了另一个索引,其设置与旧索引相同,但number_of_shards为5而不是1.
我正在寻找最有效的方法,将数据从较旧的索引复制到较新的索引而不会出现任何停机。
答案 0 :(得分:0)
我建议使用Logstash。您可以使用以下配置。确保替换源主机和目标主机,以及索引和类型名称以匹配您的本地环境。
文件:reindex.conf
input {
elasticsearch {
hosts => "localhost:9200" <---- your source host
index => "my_source_index"
}
}
filter {
mutate {
remove_field => [ "@version", "@timestamp" ]
}
}
output {
elasticsearch {
host => "localhost" <--- your target host
port => 9200
protocol => "http"
manage_template => false
index => "my_target_index"
document_type => "my_type"
workers => 5
}
}
然后你可以用
简单地启动它bin/logstash -f reindex.conf