CC00026.hadoop——|Hadoop&HDFS.V11|——|Hadoop.v11|日志采集案例|

本文介绍了Hadoop HDFS的日志采集案例,从创建工程到代码实现,包括优化步骤,详细讲解了如何使用log4j2和gson进行日志管理和输出。
摘要由CSDN通过智能技术生成
一、日志采集综合案例
### --- 日志采集综合案例

~~~     [日志采集案例之需求分析]
~~~     [日志采集案例之调度功能实现]
~~~     [日志采集案例之调度功能实现]
~~~     [日志采集之采集上传功能实现]
~~~     [日志采集案例之验证及调优]
### --- 需求分析

~~~     定时采集已滚动完毕日志文件
~~~     将待采集文件上传到临时目录
~~~     备份日志文件
二、代码实现:创建工程
### --- pom文件

    <!-- hadoop-common , hadoop-client, hadoop-hdfs-->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.8.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>2.9.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
三、代码实现:优化
### --- LogCollector

package com.yanqi.collect;

import java.util.Timer;

public class LogCollector {
    /*
    - 定时采集已滚动完毕日志文件
    - 将待采集文件上传到临时目录
    - 备份日志文件
     */
    public static void main(String[] args) {
        Timer timer = new Timer();
        //定时采集任务的调度
        // task:采集的业务逻辑
        //延迟时间
        //周期时间
        timer.schedule(new LogCollectorTask(), 0, 3600*1000);
    }
}
### --- LogCollectorTask

package com.yanqi.collect;

import com.yanqi.common.Constant;
import com.yanqi.singlton.PropTool2;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import java.util.TimerTask;

public class 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值