1.场景分析
现有需求需要将elasticsearch的备份至hdfs存储,根据以上需求,使用logstash按照天级别进行数据的同步
2.重难点
- 数据采集存在时间漂移问题,数据保存时使用的是采集时间而不是数据生成时间
- 采用webhdfs无法对文件大小进行设置
- 解决@timestamp时区问题
3.问题解决
3.1 安装webhdfs插件
./bin/logstash-plugin install logstash-output-webhdfs
3.2 logstash配置
input{
elasticsearch{
hosts => "xxxx:9200"
index => "xxxx"
#自定义查询
query => '{"query": {"range": {"create_time":{"gte": 1704668760000,"lte": 1704668820000}}}}'
size