1,项目图如下:

2, 实现过程

启动HDFS:

sbin/start-dfs.sh

启动zookeeper(三台):

 bin/zkServer.sh start

启动kafka(三台):

root@Ubuntu-:/usr/local/kafka# bin/kafka-server-start.sh config/server.properties >logs/kafka3.log >&

在131中创建access的topic:

root@Ubuntu-:/usr/local/kafka# bin/kafka-topics.sh --create --topic access --zookeeper 192.168.22.131:,192.168.22.132:,192.168.22.135: --replication-factor  --partitions  

查看创建的主题:

root@Ubuntu-:/usr/local/kafka# bin/kafka-topics.sh --list --zookeeper localhost:

131启动flume:

bin/flume-ng agent --conf conf/ --conf-file conf/access.conf  --name a1 -Dflume.root.logger=INFO,console &

内容:

#定义各个模块
a1.sources = exec
a1.sinks = hdfs_sink kafka_sink
a1.channels = hdfs_channel kafka_channel #配置 exec source
a1.sources.exec.type = exec
a1.sources.exec.command = tail -F /usr/local/apache-flume/logs/hu.log
#配置拦截器
a1.sources.exec.interceptors = i1
a1.sources.exec.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder # 配置 channel a1.channels.hdfs_channel.type = memory
a1.channels.hdfs_channel.capacity =
a1.channels.hdfs_channel.transactionCapacity = a1.channels.kafka_channel.type = memory
a1.channels.kafka_channel.capacity =
a1.channels.kafka_channel.transactionCapacity = # 配置hdfs sink
a1.sinks.hdfs_sink.type = hdfs
a1.sinks.hdfs_sink.hdfs.path =hdfs://Ubuntu-1:9000/source/%{type}/%Y%m%d
a1.sinks.hdfs_sink.hdfs.filePrefix = events-
a1.sinks.hdfs_sink.hdfs.fileType = DataStream
#a1.sinks.hdfs_sink.hdfs.fileType = CompressedStream
#a1.sinks.hdfs_sink.hdfs.codeC = gzip
#不按照条数生成文件
a1.sinks.hdfs_sink.hdfs.rollCount =
#HDFS上的文件达到64M时生成一个文件
a1.sinks.hdfs_sink.hdfs.rollSize =
a1.sinks.hdfs_sink.hdfs.rollInterval =
a1.sinks.hdfs_sink.hdfs.batchSize= # 配置 kafka sink
a1.sinks.kafka_sink.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.kafka_sink.topic = access
a1.sinks.kafka_sink.brokerList = 192.168.22.131:,192.168.22.132:,192.168.22.135:
a1.sinks.kafka_sink.requiredAcks =
a1.sinks.kafka_sink.batchSize = # 绑定三种组件的关系
a1.sources.exec.channels = hdfs_channel kafka_channel
a1.sinks.hdfs_sink.channel = hdfs_channel
a1.sinks.kafka_sink.channel = kafka_channel

132中创建kafka的producer:

root@Ubuntu-:/usr/local/kafka# bin/kafka-console-consumer.sh --zookeeper 192.168.22.131:,192.168.22.132:,192.168.22.135: --topic access

kafka+flume+HDFS日志采集项目框架的更多相关文章

  1. 项目01-flume、kafka与hdfs日志流转

    项目01-flume.kafka与hdfs日志流转 1.启动kafka集群 $>xkafka.sh start 3.创建kafka主题 kafka-topics.sh --zookeeper s ...

  2. 大数据软件安装之Flume(日志采集)

    一.安装地址 1) Flume官网地址 http://flume.apache.org/ 2)文档查看地址 http://flume.apache.org/FlumeUserGuide.html 3) ...

  3. 基于Flume+LOG4J+Kafka的日志采集架构方案

    本文将会介绍如何使用 Flume.log4j.Kafka进行规范的日志采集. Flume 基本概念 Flume是一个完善.强大的日志采集工具,关于它的配置,在网上有很多现成的例子和资料,这里仅做简单说 ...

  4. flink---实时项目--day02-----1. 解析参数工具类 2. Flink工具类封装 3. 日志采集架构图 4. 测流输出 5. 将kafka中数据写入HDFS 6 KafkaProducer的使用 7 练习

    1. 解析参数工具类(ParameterTool) 该类提供了从不同数据源读取和解析程序参数的简单实用方法,其解析args时,只能支持单只参数. 用来解析main方法传入参数的工具类 public c ...

  5. 日志采集框架Flume

    前言 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出.任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中 ...

  6. 日志采集框架 Flume

    日志采集框架 Flume 1 概述  Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到H ...

  7. Flume日志采集框架的使用

    文章作者:foochane  原文链接:https://foochane.cn/article/2019062701.html Flume日志采集框架 安装和部署 Flume运行机制 采集静态文件到h ...

  8. 一次flume exec source采集日志到kafka因为单条日志数据非常大同步失败的踩坑带来的思考

    本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F ...

  9. 01_日志采集框架Flume简介及其运行机制

    离线辅助系统概览: 1.概述: 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出. 任务调度等不可或缺的辅助系统,而这些辅助 ...

随机推荐

  1. 3 web服务器:静态文件

    1.处理客户端请求数据 >>> s = "GET / HTTP/1.1\r\nHost: 127.0.0.1:8080\r\nConnection: keep-alive& ...

  2. 关于C#数据类型自己的理解

    电脑CUP处理程序的运行.cpu里分为一级缓存,二级缓存,还有三级缓存,之后是内存里的东西. 栈存放在一级缓存里,所以cup调用速度最快,处理起来也效率也最高,但是大小很小,能存放的东西很少. 堆存放 ...

  3. 【廖雪峰老师python教程】——map/reduce

    Map[单个操作对不同单一对象重复进行] map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 返回结果注 ...

  4. NOI中“大整数加法”问题不能AC的解决建议

    一.检查输入000和00相加是否出结果. 二.数组不要开小了,亲测256的数组不够.推荐1024.   附录AC程序: 如果不能AC请将256改为1024,255改为1023. #include &l ...

  5. 第二十篇 sys模块

    修改环境变量 import sys sys.path.append() 但是,这种修复方式只是临时修改 如果要永久修改,就要电脑里配置环境变量. sys.argv:命令行参数List,第一个元素是程序 ...

  6. 软工实践Beta冲刺(6/7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...

  7. 【翻译】ASP.NET Core 文档目录

    微软官方CORE 2.0正式版中文文档已经出来了,地址:https://docs.microsoft.com/zh-cn/aspnet/core/ 简介 入门 创建一个Web应用程序 创建一个Web ...

  8. 指针C语言

    一.PTA实验作业 题目一:6-7输出月份英文名 1.PTA提交列表 2.设计思路和流程图 这题只需补充子函数,定义指针数组month[12],分别从一月到十二月,再定义一个字符,让它为NULL,当输 ...

  9. windows服务那些事

    前一段时间由于项目需求,写了一个windows服务.下面总结如下: windows服务其实就是一些后台程序,和其他程序的主要区别是它运行于系统后台.微软公司为了方便我们自己定制我们的服务,提供了很多借 ...

  10. iMuseum

    iMuseum 每日环球展览 iMuseum https://itunes.apple.com/cn/app/%E6%AF%8F%E6%97%A5%E7%8E%AF%E7%90%83%E5%B1%95 ...