Node101 上使用 Jar 包模拟生成日志数据至 Kafka 主题 ods_base_log
在 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 主题中,你应该能够看到模拟的日志数据。
原文地址: https://www.cveoy.top/t/topic/oRnd 著作权归作者所有。请勿转载和采集!