这篇文章上次修改于 312 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
安装Logstash
cd /usr/local
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.0-linux-x86_64.tar.gz
tar -zvxf logstash-7.10.0-linux-x86_64.tar.gz
- 进入Logstash的安装目录下,修改Logstash配置文件config/jvm.options,增加-Xms4g和-Xmx4g。
cd logstash-7.10.0
sudo vi config/jvm.options
- 验证Logstash功能。
bin/logstash -e 'input { stdin { } } output { stdout {} }'
在控制台中输入"Hello"。正常情况下,控制台会输出"Hello"。
开始迁移全量数据
- 迁移的前提是先把新的es里面索引元数据(设置和映射)建立好
- 在config目录下,创建并打开Logstash配置文件
cd logstash-7.10.0/config
vi es2es_all.conf
- 文件配置内容参考入下
input{
elasticsearch{
# 源端ES地址。
hosts => ["http://*.*.*.*:9200"]
# 安全集群配置登录用户名密码。
user => "用户名"
password => "密码"
# 需要迁移的索引列表,多个索引以英文以逗号(,)分隔。
index => "kc_shop_*"
# 以下三项保持默认即可,包含线程数和迁移数据大小和Logstash JVM配置相关。
docinfo=>true
slices => 5
size => 5000
}
}
filter {
# 去掉一些Logstash自己加的字段。
mutate {
remove_field => ["@timestamp", "@version"]
}
}
output{
elasticsearch{
# 目标端ES地址
hosts => ["http://127.0.0.1:9200"]
# 安全集群配置登录用户名密码。
user => "用户名"
password => "密码"
# 目标端索引名称,以下配置表示索引与源端保持一致。
index => "%{[@metadata][_index]}"
# 目标端数据的id,如果不需要保留原id,可以删除以下这行,删除后性能会更好。
document_id => "%{[@metadata][_id]}"
ilm_enabled => false
manage_template => false
}
}
- 启动迁移任务
nohup bin/logstash -f config/es2es_all.conf >/dev/null 2>&1 &
没有评论
博主关闭了评论...