Flume集群部署(手把手部署图文详细版)

前景概要:

      Kafka消息订阅系统在大数据业务中有着重要运用,尤其在实时业务中,kafka是必不可少的组件之一。

     Flume是大数据组件中重要的数据采集工具,我们常利用Flume采集各种数据源的数据供其他组件分析使用。例如在实时业务中,我们常使用Flume将数据采集到Kafka中,以供实时组件Streaming或Spark等分析处理,Flume在大数据业务中有着重要的应用。

实验目的:

l   掌握kafka shell端生产者和消费者使用,实现数据的生成和实时消费(明天主要内容)

l   掌握Flume的配置和使用,能够使用Flume实现数据采集操作。

实验前提:

 在已经完成部署Hadoop集群的情况下

启动Hadoop集群

步骤 1    在node1节点执行以下命令:

> start-dfs.sh ; start-yarn.sh

返回信息中有以下内容,表示hadoop集群启动成功:

Starting namenodes on [node1]

Starting secondary namenodes [node1]

starting yarn daemons

1.1.1 验证Hadoop状态

步骤 1   使用jps命令在node1-4中查看Java进程

在node1中可以查看到 NameNode,SecondaryNameNode,ResourceManager

进程,在node2-4中可以查看到 NodeManager 和 Datanode 进程,表示hadoop集群状态正常。

>  jps

1538 WrapperSimpleApp

5732 SecondaryNameNode

5508 NameNode

6205 Jps

5918 ResourceManager

>  jps

3026 Jps

2740 DataNode

1515 WrapperSimpleApp

2862 NodeManager

步骤 2    访问,可以登录Namenode的Web界面:

访问Yran界面:

1.2安装与测试Flume

     步骤 1    下载并解压软件包

   在node01上执行如下命令:

>  cd /opt

> wget http://archive.apache.org/dist/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz

>  tar –zxvf apache-flume-1.8.0-bin.tar.gz

>  mv apache-flume-1.8.0-bin /opt/flume-1.8.0

修改文件名字

      步骤 2    设置环境变量

在node1执行命令vim /etc/profile后,在文件末尾添加以下内容:

export FLUME_HOME=/opt/flume-1.8.0

export PATH=$PATH:$FLUME_HOME/bin

添加完成后,执行命令source /etc/profile,使环境变量生效

    步骤 3    修改配置文件

>  cd /opt/flume-1.8.0/conf

>  cp flume-conf.properties.template flume-conf.properties

  步骤 4    运行验证

   在node1上执行如下命令启动Flume测试用例

>  cd /opt/flume-1.8.0/bin

>  flume-ng agent --conf /opt/flume-1.8.0/conf/ --conf-file /opt/flume-1.8.0/conf/flume-conf.properties --name test -Dflume.root.logger=INFO,console  (执行之后命令会不动,等1分钟,另开SSH界面)

在node1上执行如下命令,验证flume安装结果

>  ps -ef |grep flume

当系统回显出现类似上面的信息时,表示flume安装成功

1.2.1 Flume数据到HDFS实验

在node1上执行以下命令

                  步骤 1    准备HDFS文件夹

在HDFS中创建flume存放数据的文件夹(作为sink的下沉地)

hdfs dfs -mkdir -p /flume/data

                  步骤 2    拷贝hadoop的jar包到$FLUME_HOME/lib下

cd /home/modules/hadoop-2.8.3/share/hadoop/common

cp *.jar $FLUME_HOME/lib

                  步骤 3    编辑flume conf配置文件

vim $FLUME_HOME/conf/hdfs.conf

#1、定义agent中各组件名称agent1.sources=source1agent1.sinks=sink1agent1.channels=channel1#2、source1组件的配置参数agent1.sources.source1.type=exec#手动生成/home/source.log手动生成agent1.sources.source1.command=tail -n +0 -F /home/source.log#3、channel1的配置参数agent1.channels.channel1.type=memoryagent1.channels.channel1.capacity=1000agent1.channels.channel1.transactionCapactiy=100#4、sink1的配置参数agent1.sinks.sink1.type=hdfsagent1.sinks.sink1.hdfs.path=hdfs://node1:8020/flume/dataagent1.sinks.sink1.hdfs.fileType=DataStream#时间类型agent1.sinks.sink1.hdfs.useLocalTimeStamp=trueagent1.sinks.sink1.hdfs.writeFormat=TEXT#文件前缀agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d-%H-%M#60秒滚动生成一个文件agent1.sinks.sink1.hdfs.rollInterval=60#HDFS块副本数agent1.sinks.sink1.hdfs.minBlockReplicas=1#不根据文件大小滚动文件agent1.sinks.sink1.hdfs.rollSize=0#不根据消息条数滚动文件agent1.sinks.sink1.hdfs.rollCount=0#不根据多长时间未收到消息滚动文件agent1.sinks.sink1.hdfs.idleTimeout=0#5、将source和sink 绑定到channelagent1.sources.source1.channels=channel1agent1.sinks.sink1.channel=channel1

过程如下:

    步骤 4    启动Flume

cd /opt/flume-1.8.0/bin/

./flume-ng agent --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/hdfs.conf --name agent1 Dflume.root.logger=DEBUG,console

保持链接不变

  步骤 5    测试并查看结果

创建新的node1终端,新建/home/source.log并写入文件

touch /home/source.log

echo 111 >> /home/source.log

echo 111 >> /home/source.log

echo 111 >> /home/source.log

在旧终端中可以查看到输出采集信息,接下来我们查看HDFS

[root@node1 ~]# hdfs dfs -ls /flume/data

[root@node1 ~]# hdfs dfs -cat  /flume/data/2020-04-21-17-57.1587463023152

1.3 结论  

       Apache Flume 作为大数据生态系统中重要的数据收集和传输工具,通过其灵活的架构和强大的功能,为企业解决了日志管理、数据集成和实时数据处理的关键问题。深入理解 Flume 的定义、架构、原理、应用场景及常见命令,有助于读者在实际应用中更加高效地使用和管理 Flume。

       通过本文的介绍,希望读者能够对 Apache Flume 的部署有一个清晰的认识,并能够在实际工作中应用 Flume 解决复杂的数据收集和处理挑战。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java房屋租赁管理系统附论文

作者介绍:计算机专业研究生,现企业打工人,从事Java全栈开发 主要内容:技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流(SCI论文两篇) 上点关注下点赞 生活越过…

以智能化为舵手,引领现代计算机系统架构新航向

编者按:如今计算机系统承载的服务和算法逻辑日益复杂,理解、设计并改进计算机系统已成为核心挑战。面对系统复杂度和规模的指数级增长,以及新的大模型驱动场景下的分布式系统形态的涌现,人们亟需创新方法与技术来应对。在计算机系…

光明领鲜物流荣膺“2023中国冷链物流百强企业”荣誉称号

近日,以“全球链接跨界融合”为主题的2024第十六届全球食品冷链大会举行,光明乳业旗下光明领鲜物流受邀参加。 作为光明乳业全产业链中重要组成部分,光明领鲜物流始终保持高标准严要求,专注于冷链质量和服务持续完善,并…

Python基础语法(与C++对比)(持续更新ing)

代码块 Python在统一缩进体系内,为同一代码块C{...}内部的为同一代码块 注释 Python 单行注释:#... 多行注释:... C 单行注释://... 多行注释: /*...*/ 数据类型 1. Python数据类型 Python中支持数字之间使用下划线 _ 分割…

DB2数据库日常维护

一、DB2系统结构 创建实例 db2icrt 实例名 删除实例 db2idrop 实例名 查询实例 db2ilist 实例名 启动实例 db2start 停止实例 db2stop 创建数据库 create database 库名 [on 存储路径] [using codeset 字符集] [TERRITORY 区域码] [pagesize 页大小] 删除数据库 drop database…

秋招力扣刷题——从前序与中序遍历序列构造二叉树

一、题目要求 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 二、解法思路 根据二叉树的遍历结构重构二叉树,至少两种遍历方式结合&…

FPGA的理解,个人的见解,不一定对

类似于面包板上搭建电路,但是使用的是逻辑单元模块;如加法器,减法器,寄存器等 没有模拟电路的电容,电阻;但是逻辑单元的底层实现,使用MOS管等电路实现电路的开关;从而表示0&#xf…

大牛“私藏”宝刊,易Accept!中科院1区-Top,偏爱国人,2个月可录!

本周投稿推荐 SCI • 能源科学类,1.5-2.0(来稿即录25天) • 计算机类,2.0-3.0(纯正刊29天录用) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好&a…

Another Redis Desktop Manager工具自定义解析数据

自定义解析数据,支持多种程序终端输出 /Users/admin/go/src/baobao_all/ws_server/baobao/main_test/encipher_tool_redis/redis_tool {VALUE}/bin/bash -c "/Users/admin/Downloads/redis_tool {VALUE}"写个go程序解析数据 package mainimport ("encoding/jso…

数据库表导出到excel:前置知识3 项目封装的Quartz实现动态定时任务

参考网址 目标:定时任务持久化到数据库,动态调整数据库里保存的cron表达式使定时任务可以跟随变化。 从SYS_QUARTZ_JOB表(通过反射创建任务)和SYS_QUARTZ_LOG表(主要就是记录日志)构建两个对应的实体类:QuartzJob和QuartzLog 1.看表结构 …

Access,Trunk,Hybrid网络设备链接类型详解

带着问题找答案:网络链路上的数据包怎么看,是否携带vlan-id如何看,以及如何设计链接类型满足用户要求,请看如下解析。 第一种:链接类型access 无标记数据帧 第二种:链接类型trunk 第三种&#xf…

【深入理解Java虚拟机】判断垃圾-引用计数法及其缺陷

什么是引用计数法 引用计数法用来判断对象是否存活 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值加一;当引用失效时,计数器的值就减一,任何时刻计数器为0的对象是不可能在被使用的。(存…

软件测试必问必背面试题

01 软件测试理论部分 1.1 测试概念 1. 请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试 单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码集成测试:通过测试发现与…

ForkJoin框架与工作窃取算法详解

文章目录 一、ForkJoin框架概述1_核心概念2_主要类和方法1_ForkJoinPool2_ForkJoinTask 二、启用异步模式与否的区别三、ForkJoinPool的三种任务提交方式四、执行逻辑及使用示例1_示例&#xff1a;并行计算数组元素和2_forkJoinPool.submit3_ForkJoinTask<?>中任务的执行…

实现第一个神经网络

PyTorch 包含创建和实现神经网络的特殊功能。在本节实验中&#xff0c;将创建一个简单的神经网络&#xff0c;其中一个隐藏层开发一个输出单元。 通过以下步骤使用 PyTorch 实现第一个神经网络。 第1步 首先&#xff0c;需要使用以下命令导入 PyTorch 库。 In [1]: import…

解决mysql数据库连接报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded

解决mysql数据库连接报错&#xff1a;Authentication plugin ‘caching_sha2_password’ cannot be loaded OperationalError: (2059, “Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib/mysql/plugin/caching_sha2_password.so: cannot open sha…

启动Nuxt-hub-starter: Failed to initialize wrangler bindings proxy write EOF

重新安装 node.js 这样做可以确保下载到了适合的 Windows 框架、Chocolatey&#xff08;一款Windows包管理工具&#xff09;、Python 等资源。 这个错误与Node版本、pnpm/yarn 的版本无关&#xff01; Node.js — Download Node.js (nodejs.org)

汉光联创HGLM2200N黑白激光多功能一体机加粉及常见问题处理

基本参数&#xff1a; 机器型号&#xff1a;HGLM2200N 产品名称&#xff1a;A4黑白激光多功能一体机 基础功能&#xff1a;打印、扫描、复印 打印速度&#xff1a;22页/分钟 纸张输入容量&#xff1a;150-249页 单面支持纸张尺寸&#xff1a;A4、A5、A6 产品尺寸&#x…

MySQL数据恢复(适用于误删后马上发现)

首先解释一下标题&#xff0c;之所以适用于误删后马上发现是因为太久了之后时间和当时操作的数据表可能会记不清楚&#xff0c;不是因为日志丢失 1.首先确保自己的数据库开启了binlog&#xff08;我的是默认开启的我没有配置过&#xff09; 根据这篇博客查看自己的配置和自己…

鸿蒙开发HarmonyOS NEXT (三) 熟悉ArkTs

一、自定义组件 1、自定义组件 自定义组件&#xff0c;最基础的结构如下&#xff1a; Component struct Header {build() {} } 提取头部标题部分的代码&#xff0c;写成自定义组件。 1、新建ArkTs文件&#xff0c;把Header内容写好。 2、在需要用到的地方&#xff0c;导入…