在 Node101 服务器上使用 Jar 包模拟生成日志数据至 Kafka 主题 ods_base_log

本指南介绍如何在 Node101 服务器上使用 Jar 包模拟生成日志数据至 Kafka 主题 ods_base_log

1. 安装 Kafka 并启动服务

在 Node101 服务器上下载并安装 Kafka,并启动 Kafka 服务。

2. 安装 Log4j2 并编写配置文件

在 Node101 服务器上下载并安装 Log4j2。编写一个 Log4j2 配置文件,用于生成模拟日志数据到本地文件中。

以下是一个示例配置文件:

<?xml version='1.0' encoding='UTF-8'?>
<Configuration status='WARN'>
    <Appenders>
        <Console name='Console' target='SYSTEM_OUT'>
            <PatternLayout pattern='%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n'/>
        </Console>
        <RollingFile name='RollingFile' fileName='logs/sample.log'
                     filePattern='logs/sample-%d{yyyy-MM-dd-HH-mm-ss}.log.gz'>
            <PatternLayout pattern='%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n'/>
            <Policies>
                <TimeBasedTriggeringPolicy interval='1' modulate='true'/>
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level='info'>
            <AppenderRef ref='Console'/>
            <AppenderRef ref='RollingFile'/>
        </Root>
    </Loggers>
</Configuration>

3. 编写 Java 程序读取数据并发送至 Kafka

在 Node101 服务器上编写一个 Java 程序,读取本地文件中的模拟日志数据,并将数据发送到 Kafka 主题 ods_base_log 中。

以下是一个示例 Java 程序:

import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.common.serialization.StringSerializer;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

public class KafkaProducerExample {

    public static void main(String[] args) throws IOException {
        String topicName = 'ods_base_log';
        String filePath = 'logs/sample.log';

        // create Kafka producer properties
        Properties props = new Properties();
        props.put('bootstrap.servers', 'localhost:9092');
        props.put('key.serializer', StringSerializer.class.getName());
        props.put('value.serializer', StringSerializer.class.getName());

        // create Kafka producer
        Producer<String, String> producer = new KafkaProducer<>(props);

        // read data from local file
        BufferedReader reader = new BufferedReader(new FileReader(filePath));
        String line;
        while ((line = reader.readLine()) != null) {
            // send data to Kafka topic
            producer.send(new ProducerRecord<>(topicName, line));
        }
        reader.close();

        // close Kafka producer
        producer.close();
    }
}

4. 使用 Kafka 工具包验证数据发送

在 Node101 服务器上下载并安装 Kafka 工具包。使用 Kafka 工具包验证数据是否成功发送到 Kafka 主题中。

以下命令可用于验证数据:

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic ods_base_log --from-beginning

如果数据成功发送到 Kafka 主题中,你应该能够看到模拟的日志数据。

Node101 上使用 Jar 包模拟生成日志数据至 Kafka 主题 ods_base_log

原文地址: https://www.cveoy.top/t/topic/oRnd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录