iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Flume如何部署
  • 447
分享到

Flume如何部署

2023-06-02 22:06:25 447人浏览 独家记忆
摘要

这篇文章主要讲解了“Flume如何部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flume如何部署”吧! Flume简介Flume是Cloudera提供的一个高可用、高可靠、分

这篇文章主要讲解了“Flume如何部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flume如何部署”吧!

 Flume简介

Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统。Flume支持在日志系统中定制各类数据发送方用于收集数据,同时Flume提供对数据的简单处理,并将数据处理结果写入各种数据接收方的能力。

Flume作为Cloudera开发的实时日志收集系统,受到了业界的认可与广泛应用。2010年11月Cloudera开源了Flume的第一个可用版本0.9.2,这个系列版本被统称为Flume-OG,重构后的版本统称为Flume-NG。改动的另一原因是将 Flume 纳入 Apache 旗下,Cloudera Flume改名为Apache Flume成为Apache核心项目

2 Flume工作原理

Flume(水道)以agent为最小的独立运行单位。一个agent就是一个JVM。单agent由Source、Sink和Channel三大组件构成,如下图:

Flume如何部署

Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。以下是Flume的一些核心概念:

组件功能
Agent使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。
Client生产数据,运行在一个独立的线程
Source从Client收集数据,传递给Channel。
Sink从Channel收集数据,运行在一个独立线程。
Channel连接 sources 和 sinks ,这个有点像一个队列。
Events可以是日志记录、 avro 对象等。

3 Flume部署

 hadoop用户下1) 下载wgte Http://arcHive-primary.cloudera.com/cdh6/cdh/5/flume-ng-1.6.0-cdh6.7.0.tar.gzcdh6.7对应文档:http://archive-primary.cloudera.com/cdh6/cdh/5/flume-ng-1.6.0-cdh6.7.0/2) 解压到~/app,检查用户和用户组tar -xzvf flume-ng-1.6.0-cdh6.7.0.tar.gz -C ~/app/3) 添加到系统环境变量 vim ~/.bash_profileexport FLUME_HOME=/home/hadoop/app/apache-flume-1.6.0-cdh6.7.0-binexport PATH=$FLUME_HOME/bin:$PATHsource ~/.bash_profile4) 配置flume的jdk路径$FLUME_HOME/conf/flume-env.shcp flume-env.sh.template flume-env.shexport JAVA_HOME=/usr/java/jdk1.8.0_45

4 Flume监听端口

配置flume加载的配置文件:

#从指定的网络端口上采集日志到控制台输出a1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the sourcea1.sources.r1.type = netcata1.sources.r1.bind = 0.0.0.0a1.sources.r1.port = 44444# Describe the sinka1.sinks.k1.type = logger# Use a channel which buffers events in memorya1.channels.c1.type = memory# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1

5 Flume启动

启动flume:

./flume-ng agent \--name a1 \--conf $FLUME_HOME/conf \--conf-file /home/hadoop/script/flume/telnet-flume.conf \-Dflume.root.logger=INFO,console \-Dflume.monitoring.type=http \-Dflume.monitoring.port=34343

-Dflume.root.logger=INFO,console    -- 日志级别

-Dflume.monitoring.type=http        -- http输出日志

-Dflume.monitoring.port=34343       -- http 端口

未安装telnet,先安装telnet命令

[root@locahost ~]#yum  install -y telnet-server [root@locahost ~]#yum install -y telnet由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd [root@locahost ~]#service xinetd restart

结果测试

[root@hadoop001 ~]# telnet localhost 44444Trying ::1...Connected to localhost.Escape character is '^]'.asdOKasdOKasdOKasdOK

控制台日志输出:

(LoggerSink.java:94)] Event: 数据流事件 有,由【headers】【body】构成,分别为字节数组+内容

2018-08-09 19:20:21,272 (conf-file-poller-0) [INFO - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)] Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog2018-08-09 19:20:21,338 (conf-file-poller-0) [INFO - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)] jetty-6.1.26.cloudera.42018-08-09 19:20:21,391 (conf-file-poller-0) [INFO - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67)] Started SelectChannelConnector@0.0.0.0:343432018-08-09 19:29:15,336 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 61 73 64 0D   asd. }2018-08-09 19:29:15,337 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 61 73 64 0D   asd. }2018-08-09 19:29:15,337 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 61 73 64 0D   asd. }2018-08-09 19:29:15,338 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 61 73 64 0D   asd. }


http输出:

Flume如何部署

7 Flume常用的Type

Source:
名称含义注意点
avroavro协议的数据源
execunix命令可以命令监控文件 tail -F
spooldir监控一个文件夹不能含有子文件夹,不监控windows文件夹
处理完文件不能再写数据到文件
文件名不能冲突
TAILDIR既可以监控文件也可以监控文件夹支持断点续传功能,重点使用这个
netcat监听某个端口
kafka监控卡夫卡数据
sink:
名称含义注意点
kafka写到kafka中
hdfs将数据写到HDFS中
logger输出到控制台
avroavro协议配合avro source使用
channel:
名称含义注意点
memory存在内存中
kafka将数据存到kafka中
file存在本地磁盘文件中

感谢各位的阅读,以上就是“Flume如何部署”的内容了,经过本文的学习后,相信大家对Flume如何部署这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Flume如何部署

本文链接: https://www.lsjlt.com/news/231569.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Flume如何部署
    这篇文章主要讲解了“Flume如何部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flume如何部署”吧! Flume简介Flume是Cloudera提供的一个高可用、高可靠、分...
    99+
    2023-06-02
  • Flume怎样安装部署
    这篇文章主要介绍了Flume怎样安装部署,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境:flume-ng-1.6.0-cdh6.7.0.tar.gzjdk 1.8下载安装...
    99+
    2023-06-03
  • 怎么部署和扩展Flume环境
    部署和扩展Flume环境需要以下步骤: 安装Flume:首先需要在服务器上安装Flume。可以从官方网站上下载最新版本的Flum...
    99+
    2024-04-02
  • 如何部署goldengate
    这篇文章将为大家详细讲解有关如何部署goldengate,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 一、安装redhat4,安装步骤略 二、安装oracle10g...
    99+
    2024-04-02
  • CentOS如何部署
    这篇文章将为大家详细讲解有关CentOS如何部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。CentOS部署1 win7/win10 装VM 1.2 win7-->linux 鼠标左键 鼠标会进入...
    99+
    2023-06-02
  • 如何部署DNSmasq
    这篇文章主要介绍“如何部署DNSmasq”,在日常操作中,相信很多人在如何部署DNSmasq问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何部署DNSmasq”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-27
  • hadoop如何部署
    这篇文章将为大家详细讲解有关hadoop如何部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Hadoop的三种模式:Standalone Operation 单机模式 不开发  不生产 &nb...
    99+
    2023-06-03
  • MySQL如何部署
    小编给大家分享一下MySQL如何部署,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 1.Download [root@ruozehadoop000 ~]# cd /usr/local#选...
    99+
    2024-04-02
  • Docker如何部署Scrapy
    这篇文章将为大家详细讲解有关Docker如何部署Scrapy,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。假设我们要在10台Ubuntu 部署爬虫如何搞之?用传统的方法会吐血的,除非你记录下来每个步骤,然...
    99+
    2023-06-07
  • 如何部署VSCODE SERVER
    这篇文章主要介绍“如何部署VSCODE SERVER”,在日常操作中,相信很多人在如何部署VSCODE SERVER问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何部署VSCODE&nb...
    99+
    2023-07-06
  • linux golang如何部署
    本篇内容介绍了“linux golang如何部署”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!要在 Linux 系统上部署 Golang 应...
    99+
    2023-07-06
  • Docker如何部署Mysql8
    本篇内容主要讲解“Docker如何部署Mysql8”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker如何部署Mysql8”吧!一、前置需求linux系统本人用的Centos7安装dock...
    99+
    2023-07-02
  • docker如何部署confluence
    这篇文章给大家分享的是有关docker如何部署confluence的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Confluence 是收费的,但是可以破解使用(提倡购买,支持正版)本文使用的镜像是基于他人(镜像...
    99+
    2023-06-15
  • Docker如何部署Node.js
    本篇内容主要讲解“Docker如何部署Node.js”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker如何部署Node.js”吧!项目结构`-- docker-node&nbs...
    99+
    2023-06-17
  • centos6.8如何部署php
    这篇文章主要介绍了centos6.8如何部署php,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。centos6.8部署php的方法:1、安装依赖包;2、下载php;3、修改p...
    99+
    2023-06-21
  • Docker rocketmq如何部署
    这篇文章给大家分享的是有关Docker rocketmq如何部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。准备工作在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需...
    99+
    2023-06-22
  • Flume的内部机制是如何实现数据流动的
    Flume是一个分布式,可靠,高可用的系统,用于收集,聚合和移动大量的日志数据。它的内部机制是基于三个主要组件:Source,Cha...
    99+
    2024-03-08
    Flume
  • Flume如何采集到HDFS
    这篇文章主要介绍Flume如何采集到HDFS,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、需求:采集指定文件的内容到HDFS技术选型:exec - memory - hdfsa1.sources =&n...
    99+
    2023-06-02
  • Docker中如何部署k8s
    这篇文章主要介绍Docker中如何部署k8s,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!拓扑结构1master + 2minionk8s-master 192.168.0.201 masterk8s-node1 1...
    99+
    2023-06-07
  • Azure中如何部署Kubernetes
    这篇文章将为大家详细讲解有关Azure中如何部署Kubernetes,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Azure 命令行接口 (CLI) 是用于管理 Azure 资源的 Microsoft 跨...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作