kafka+flume+HDFS日志采集项目框架
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日志采集项目框架的更多相关文章
- 项目01-flume、kafka与hdfs日志流转
项目01-flume.kafka与hdfs日志流转 1.启动kafka集群 $>xkafka.sh start 3.创建kafka主题 kafka-topics.sh --zookeeper s ...
- 大数据软件安装之Flume(日志采集)
一.安装地址 1) Flume官网地址 http://flume.apache.org/ 2)文档查看地址 http://flume.apache.org/FlumeUserGuide.html 3) ...
- 基于Flume+LOG4J+Kafka的日志采集架构方案
本文将会介绍如何使用 Flume.log4j.Kafka进行规范的日志采集. Flume 基本概念 Flume是一个完善.强大的日志采集工具,关于它的配置,在网上有很多现成的例子和资料,这里仅做简单说 ...
- flink---实时项目--day02-----1. 解析参数工具类 2. Flink工具类封装 3. 日志采集架构图 4. 测流输出 5. 将kafka中数据写入HDFS 6 KafkaProducer的使用 7 练习
1. 解析参数工具类(ParameterTool) 该类提供了从不同数据源读取和解析程序参数的简单实用方法,其解析args时,只能支持单只参数. 用来解析main方法传入参数的工具类 public c ...
- 日志采集框架Flume
前言 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出.任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中 ...
- 日志采集框架 Flume
日志采集框架 Flume 1 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到H ...
- Flume日志采集框架的使用
文章作者:foochane 原文链接:https://foochane.cn/article/2019062701.html Flume日志采集框架 安装和部署 Flume运行机制 采集静态文件到h ...
- 一次flume exec source采集日志到kafka因为单条日志数据非常大同步失败的踩坑带来的思考
本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F ...
- 01_日志采集框架Flume简介及其运行机制
离线辅助系统概览: 1.概述: 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出. 任务调度等不可或缺的辅助系统,而这些辅助 ...
随机推荐
- 【Consul】关于健康检查的一点思考
健康检查是Consul提供的一项主要功能,其配置格式如下: { "check": { "id": "redis", "name&q ...
- P1189 SEARCH(逃跑的拉尔夫)
P1189 SEARCH 题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移 ...
- webapi到处excel
最近项目用的webapi前几天做了个导出excel功能,给大家分享下,自己也记录下... 在用的过程中,可以直接请求就可以得到下载的excel文件,在实际的项目中可以通过js打开新页面,encodeU ...
- 导入execl到数据库mysql
GwykhrenyuankuList <body jwcid="$content$"> <span jwcid="@components/AppBord ...
- Ubuntu 手机 app开发学习0
# 相关网址 http://developer.ubuntu.com/zh-cn/apps/sdk/ 0. 环境搭建 首选需要一个Ubuntu 14.04操作系统.没啥好讲的,直接安装了一个虚拟机. ...
- html基础问题总结
1.reflow 在CSS规范中有一个渲染对象的概念,通常用一个盒子(box, rectangle)来表示.mozilla通过一个叫frame的对象对盒子进行操作.frame主要的动作有三个: 构造f ...
- JQuery UI 日历加时间
写一个面试时间通知.用jquery ui 具体功能已经可以了,不过样式还没调 一.需要引入的文件,这些可以到官网下载 <link rel="stylesheet" href= ...
- CodeForces-455A Boredom
题目链接 https://vjudge.net/problem/CodeForces-455A 题面 Description Alex doesn't like boredom. That's why ...
- LeetCode 3——无重复字符的最长子串
1. 题目 2. 解答 2.1. 方法一 我们从前往后遍历字符串,start 代表最长子串的起始位置,一开始设置为零. 如果没有遇到重复字符,则更新子串的长度,向后遍历. 如果遇到重复字符时,则更新字 ...
- c++知识点总结--函数模板
通用函数可变参模板 用于处理不限定参数的函数 showall(){//空函数,接口,最后结束递归 } template<typename T,typename... Args> void ...