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

1、启动kafka集群

$>xkafka.sh start

3、创建kafka主题

kafka-topics.sh --zookeeper s102:2181
--create
--topic topic-umeng-raw-logs2
--replication-factor 3
--partitions 4

注意:kafka主题不要使用“_”,可以使用“-”。

4、配置flume,收集日志到kafka

在nginx web服务器节点(这里是s101和s102)上安装flume软件,编写配置文件。

在/soft/flume/conf下创建umeng_nginx_to_kafka.conf文件,内容如下:

a1.sources = r1
a1.channels = c1
a1.sinks = k1 a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /usr/local/openresty/nginx/logs/access.log a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = topic-umeng-raw-logs2
a1.sinks.k1.kafka.bootstrap.servers = s102:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sinks.k1.kafka.producer.linger.ms = 0 a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

5、启动flume进程

$>flume-ng agent -f /soft/flume/conf/umeng_nginx_to_kafka.conf -n a1

6、启动kafka控制条消费者,查看是否能够接收到日志

$>kafka-console-consumer.sh --zookeeper s102:2181 --topic topic-umeng-raw-logs2

7、配置flume,收集kafka消息到hdfs

创建/soft/flume/conf/umeng-kakfa-to-hdfs.conf文件,内容如下:

a1.sources = r1
a1.channels = c1
a1.sinks = k1 a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.r1.batchSize = 5000
a1.sources.r1.batchDurationMillis = 2000
a1.sources.r1.kafka.bootstrap.servers = s102:9092
a1.sources.r1.kafka.topics = topic-umeng-raw-logs2
a1.sources.r1.kafka.consumer.group.id = g10 a1.channels.c1.type=memory a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = /user/centos/umeng_big11/raw-logs/%Y%m/%d/%H%M
a1.sinks.k1.hdfs.filePrefix = events-
#round控制目录
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 1
a1.sinks.k1.hdfs.roundUnit = minute
#控制文件
a1.sinks.k1.hdfs.rollInterval = 30
a1.sinks.k1.hdfs.rollSize = 10240
a1.sinks.k1.hdfs.rollCount = 500
a1.sinks.k1.hdfs.useLocalTimeStamp = true
a1.sinks.k1.hdfs.fileType = DataStream a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

8、启动flume进程,收集kafka消息到hdfs

8.1 启动hdfs集群

$>start-dfs.sh

8.2 启动flume,指定收集文件

$>flume-ng agent -f /soft/flume/conf/umeng-kafka-to-hdfs.conf -n a1

9、启动手机端程序发送日志,观察kafka是否接收到

项目01-flume、kafka与hdfs日志流转的更多相关文章

  1. Flume+kafka+storm+hdfs

    摘自:http://www.aboutyun.com/thread-6855-1-1.html

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

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

  3. Flume - Kafka日志平台整合

    1. Flume介绍 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供 ...

  4. flume 增量上传日志文件到HDFS中

    1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs中. 1.1.根据需求,首先定义一下3大要素: 采集源 ...

  5. 基于Flume+Kafka+ Elasticsearch+Storm的海量日志实时分析平台(转)

    0背景介绍 随着机器个数的增加.各种服务.各种组件的扩容.开发人员的递增,日志的运维问题是日渐尖锐.通常,日志都是存储在服务运行的本地机器上,使用脚本来管理,一般非压缩日志保留最近三天,压缩保留最近1 ...

  6. 日志=>flume=>kafka=>spark streaming=>hbase

    日志=>flume=>kafka=>spark streaming=>hbase 日志部分 #coding=UTF-8 import random import time ur ...

  7. 使用Flume+Kafka+SparkStreaming进行实时日志分析

    每个公司想要进行数据分析或数据挖掘,收集日志.ETL都是第一步的,今天就讲一下如何实时地(准实时,每分钟分析一次)收集日志,处理日志,把处理后的记录存入Hive中,并附上完整实战代码 1. 整体架构 ...

  8. 【转】flume+kafka+zookeeper 日志收集平台的搭建

    from:https://my.oschina.net/jastme/blog/600573 flume+kafka+zookeeper 日志收集平台的搭建 收藏 jastme 发表于 10个月前 阅 ...

  9. flume实现kafka到hdfs测试用例

    kafka 到hdfs at1.sources =st1 at1.channels = ct1 at1.sinks = kt1 # For each one of the sources, the t ...

随机推荐

  1. partial、struct、interface与C#和CLR的关系

    partial.struct.interface是C#编译器特有的,CLR对此一无所知.

  2. BeautifulSoup4模块的使用

    1. 安装 pip3 install beautifulsoup42. 使用 from bs4 import BeautifulSoup obj = BeautifulSoup("HTML内 ...

  3. js打印相关,注意此方法受到IE安全性设置影响

    <HTML><HEAD><TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>  <SCRIPT language=j ...

  4. docker(2)安装centos7镜像与容器管理

    1.镜像加速器 创建/etc/docker/daemon.json { "registry-mirrors": [ "https://registry.docker-cn ...

  5. vue入门----------路由配置

    在使用脚手架搭建好项目后要配置路由 1.首先要安装vue-router,你可以在项目的package.json文件中的dependencies项目中添加"vue-route": & ...

  6. java课后思考题(三)

    1.以下代码为何无法通过编译?哪儿出错了? 因为在Foo类中已经有了一个Foo类的有参构造函数,所以Foo类中已经不默认Foo()的无参构造函数,所以在new Foo()时无法调用构造函数.所以在无法 ...

  7. Mybatis学习笔记11 - 动态sql之trim标签

    trim标签体中是整个字符串拼串后的结果.prefix="" 前缀: prefix给拼串后的整个字符串加一个前缀prefixOverrides="" 前缀覆盖: ...

  8. Unable to instantiate receiver xxx.receiver.NetworkReceiver异常

    Unable to instantiate xxxreceiver.NetworkReceiver: 这个异常是之前版本有NetworkReceiver(监听网络变化的),新的版本删除了Network ...

  9. 数据库mysql基础语言--各模式的含义

    1. 欢迎信息 欢迎来到 MySQL 镜像.命令以 ; 或 g 结束.你的 MySQL 连接编号为 2.服务器版本:5.1.47-社区 MySQL 社区服务器(GPL) 版权(C)2000.2010, ...

  10. [转]ASP.NET中JSON的序列化和反序列化

    本文转自:http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html JSON是专门为浏览器中的网页上运行的JavaScript代码 ...