思路:
在虚拟机上写一个脚本,为了制造假数据,通过flume下沉到Kafka。再通过Java代码从Kafka的Topic中获取数据临时保存到本地文件中,再将本地文件上传到HDFS上
1.虚拟机启动 zookeeper、Kafka。
2.在启动一个生产者、一个消费者。
注:脚本文件:/root/log
[root@hdp-1 log]# ./makelog.sh
while true
do
echo '000000000000000' >> access.log
sleep 0.1
done
3.Java代码实现具体思路
1.消费者:负责将数据存放到本地文件中
package flume;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import java.io.*;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collecti