kafka产生的数据通过Flume存到HDFS中
试验目标:
把kafka的生产者发出的数据流经由Flume放到HDFS来存储。
试验环境:
java:1.8
kafka:2.11
flume:1.6
hadoop:2.8.5
试验流程:
1.进入zookeeper的bin目录,启动zookeeper
$ zkServer.sh start
2.配置Flume的conf文件
在flume下conf文件夹创建 flume.cof文件
agent.sources = kafkaSource
agent.channels = memoryChannel
agent.sinks = hdfsSink agent.sources.kafkaSource.channels = memoryChannel
agent.sources.kafkaSource.type=org.apache.flume.source.kafka.KafkaSource
agent.sources.kafkaSource.zookeeperConnect=127.0.0.1:
agent.sources.kafkaSource.topic=flume-data agent.sources.kafkaSource.kafka.consumer.timeout.ms=
agent.channels.memoryChannel.type=memory
agent.channels.memoryChannel.capacity=
agent.channels.memoryChannel.transactionCapacity= agent.sinks.hdfsSink.type=hdfs
agent.sinks.hdfsSink.channel = memoryChannel
agent.sinks.hdfsSink.hdfs.path=hdfs://master:9000/usr/feiy/flume-data
agent.sinks.hdfsSink.hdfs.writeFormat=Text
agent.sinks.hdfsSink.hdfs.fileType=DataStream
3.启动hadoop分布式集群
$ start-all.sh
4.启动kafka服务,并创建一个topic,让flume来消费。
启动kafka:
$ bin/kafka-server-start.sh -daemon ./config/server.properties &
创建topic,主题名:flume-data
$ bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic flume-data
4.启动flume,等待kafka传输消息
进入flume安装目录下的conf目录,执行命令
$ bin/flume-ng agent --conf conf --conf-file conf/flume.conf --name agent -Dflume.root.logger=INFO,console

5.向主kafka里面输入数据
$ bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic flume-data

此时,你输入的数据就会通过flume发送到HDFS里面
6.查看HDFS里面的文件
$ hadoop fs -ls /usr/feiy/flume-data
$ hadoop fs -cat /usr/feiy/flume-data/FlumeData.1551321145495

代码试验:
如果是用kafka代码,获取接口的数据,然后向flume里传送,只需要将kafka中的代码中的topic名字设置成服务器上的主题名即可:flume-data

参考:https://blog.csdn.net/feinifi/article/details/73929015
kafka产生的数据通过Flume存到HDFS中的更多相关文章
- spark读取 kafka nginx网站日志消息 并写入HDFS中(转)
原文链接:spark读取 kafka nginx网站日志消息 并写入HDFS中 spark 版本为1.0 kafka 版本为0.8 首先来看看kafka的架构图 详细了解请参考官方 我这边有三台机器用 ...
- ffmpeg从AVFrame取出yuv数据到保存到char*中
ffmpeg从AVFrame取出yuv数据到保存到char*中 很多人一直不知道怎么利用ffmpeg从AVFrame取出yuv数据到保存到char*中,下面代码将yuv420p和yuv422p的数 ...
- 调用存储过程取到数据通过NPOI存到Excel中
//调用 public ActionResult GenerateExcel() { DataTable headerTable = new DataTable(); ...
- Java输入一行数据并转存到数组中
直接看下面的代码吧!主要是split和foreach的使用 import java.io.*; import java.util.*; public class Main{ public static ...
- python 数据如何保存到excel中--xlwt
第一步:下载xlwt 首先要下载xlwt,(前提是你已经安装好了Python) 下载地址: https://pypi.python.org/pypi/xlwt/ 下载第二个 第二步:安装xl ...
- 带你看懂大数据采集引擎之Flume&采集目录中的日志
一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ...
- flume 增量上传日志文件到HDFS中
1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs中. 1.1.根据需求,首先定义一下3大要素: 采集源 ...
- 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
- HDFS中的读写数据流
1.文件的读取 在客户端执行读取操作时,客户端和HDFS交互过程以及NameNode和各DataNode之间的数据流是怎样的?下面将围绕图1进行具体讲解. 图 1 客户端从HDFS中读取数据 1)客户 ...
随机推荐
- resNet代码-小象/cv
C:\yyy\ml\dengsong\ChinaHadoop\ChinaHadoop_C4-master\ChinaHadoop_C4-master\C4_ResNet_TF http://blog. ...
- NFS相关、NFS服务端安装配置、exportfs命令、nfs客户端的问题
1.NFS (network file system,基于RPC协议) 2.NFS服务端安装配置安装服务端:yum install nfs-utils rpcbind -y安装客户端:yum inst ...
- Manjaro启动项目及服务配置备忘
Manjaro启动项目及服务配置备忘 =============== 系统服务GUI管理搜索 systemdgenie 并安装,类似Windows的服务管理. ================ 系统启 ...
- Python基础-使用paramiko
一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- exception in thread "http-apr-80-exec-24" java.lang.OutOfMemoryError:PermGen...
今天客户说项目访问不了了,我急忙看了下告警,发现上报:“exception in thread "http-apr-80-exec-24" java.lang.OutOfMemor ...
- $trainClassLayer.find('input[name=data-item-checkbox]').eq(index).change();//激活第index+1那个checkbox
☆ $.each(data, function (index, org) { if (org.alreadySent) { $trainClassLayer.find('input[name=data ...
- 从简单的mongodb example 的观察
https://github.com/no7dw/mongodb-example 这是最基础的连接查询.(branch master) var MongoClient = require('mongo ...
- mysql中不直接通过密码连接 还要指定ip地址进行连接----------DCL数据库控制语言
线上如果用root超级用户连接数据库,非常容易造成隐私泄漏.一般线上不用root数据控制. 今天和大家分享的是 输入密码还不可以连接数据库,必须要输入ip地址以后,才可以连接. 正常的访问数据库都是 ...
- Go Example--结构体
package main import "fmt" //定义一个私有结构体 type person struct { name string age int } func main ...
- 【传输协议】TCP、IP协议族之数字签名与HTTPS详解
文章转载出自:https://blog.51cto.com/11883699/2160032 安全的获取公钥 细心的人可能已经注意到了如果使用非对称加密算法,我们的客户端A,B需要一开始就持有公钥,要 ...