项目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. C/C++中qsort()以及sort()的用法

    最近学弟们问快速排序的比较多,今天自己就做一下总结,快速排序在库函数里面有现成的,不用自己实现,调用一下就可以达到自己想要的结果,掌握以后就可以完全摒弃冒泡和选择了,并且时间复杂度也从O(n*n)提升 ...

  2. Oracle的CLOB大数据字段类型

    转载:https://www.cnblogs.com/Grand-Jon/p/7389427.html 一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARC ...

  3. php数组·的方法3-数组指针

    /* * 数组指针函数 * */ //key() current() 指针一直停在第一位 不会下移 echo '<hr>'; $arr5 = array('name' => 'hxq ...

  4. 使用EventBus实现兄弟组件之间的通信

    使用EventBus实现兄弟组件之间的通信 需求:为了实现菜单折叠的效果,例如http://blog.gdfengshuo.com/example/work/#/dashboard header组件和 ...

  5. MAC环境下idea:maven+Spring+Dubbo+Zookeeper简单工程搭建

    : 一:安装软件:tomcatZookeeperDubbo+admin 二:工程: 总工程  API    Pom.xml:不用引用任何东西  Provider    Pom.xml:要denpend ...

  6. 往mysql数据库中上传路径问题

    String path = System.getProperty("catalina.home");                    String fileName = mo ...

  7. ubuntu 16.04 && google账号问题

    1.按ctrl + H 可以显示文件夹的隐藏内容 2.创建文件夹 sudo mkdir -p /usr/share/fonts/vista         创建文件用 vim filename.xxx ...

  8. linux信号的处理--部分源码分析

    基于linux master v4.9版本 信号是异步的, 一.信号何时来 信号是异步的,对于一个进程随时都会接收到信号. 二.选择线程(task)来处理 那么一个进程接收到信号时,需要选择一个tas ...

  9. Java基础16-类与对象

    1.如何创建一个类 public class Person{ //属性 String name; String genter; int age; //方法 public void eat(){ Sys ...

  10. Java基础14-多维数组

    1.二位数组可以看成以数组为元素的数组 2.java中多维数组的声明和初始化一样,应该从高维到低维的顺序进行,例如 int[][] a=new int[3][]; a[0]=new int[2]; a ...