当前位置: 首页 > article >正文

大数据工具 flume 的安装配置与使用 (详细版)

参考网址:Flume 1.9用户手册中文版 — 可能是目前翻译最完整的版本了 

1,上传安装包

安装包链接:文件下载-奶牛快传 Download |CowTransfer

口令:x8bhcg

1,切换盘符到安装目录

cd /opt/moudles

解压文件到文件目录

解压命令:tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/installs/
重命名:mv apache-flume-1.9.0-bin/ flume

2,配置环境变量

export FLUME_HOME=/opt/installs/flume
export PATH=$PATH:$FLUME_HOME/bin

记得刷新环境变量

source /etc/profile

 3,修改一下flume的配置文件:

 4,修改 JAVA_HOME 的路径为自己的 jdk 路径。

export JAVA_HOME=/opt/installs/jdk

 安装完成

2,关于flume的使用

flume 的使用是编写 conf文件的,运行的时候指定该文件

# 定义组件的名字
<Agent>.sources = <Source>
a1.sources=s1
<Agent>.channels = <Channel1> <Channel2>
a1.channels=c1
<Agent>.sinks = <Sink>
a1.sinks=sink1

# 设置source 和 channel 之间的关系
<Agent>.sources.<Source>.channels = <Channel1> <Channel2> ...
a1.sources.s1.channels=c1

# 设置sink 和 channel 之间的关系
<Agent>.sinks.<Sink>.channel = <Channel1>
a1.sinks.sink1.channel=c1

先定义agent的名字,再定义agent中三大组件的名字
接着定义各个组件之间的关联关系

3,案例展示
Avro+Memory+Logger【主要用于演示,没有实战意义】

avro: 是监听某个端口是否有信息的工具
memory: 内存
logger: 控制台
即将演示一个场景:给服务器上的一个端口发送消息,消息经过内存,打印到控制台上。

 

先找source 中的avro看需要设置什么参数

 

#编写s1的类型是什么
a1.sources.s1.type = avro
a1.sources.s1.bind = 192.168.32.128
a1.sources.s1.port = 4141
a1.sources.s1.channels = c1 

找到channel中的memory类型,再设置一下

a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
#source 或者 sink 每个事务中存取 Event 的操作数量
a1.channels.c1.transactionCapacity = 10000 

接着查找sink,sink的类型是logger

a1.sinks.s2.channel = c1
a1.sinks.s2.type = logger 

最终合并起来的文件就是:

a1.sources = r1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.channels = c1
a1.sources.r1.bind = bigdata01
a1.sources.r1.port = 4141

a1.channels.c1.type = memory

a1.sinks = k1
a1.sinks.k1.type = logger
a1.sinks.k1.channel = c1

在flume文件夹下创建一个文件夹 myconf,用于存放我们写好的文件

进入后创建  avro-memory-log.conf

将配置文件的内容拷贝进去

先启动flume-ng

flume-ng agent -c ../ -f avro-memory-log.conf -n a1 -Dflume.root.logger=INFO,console

-c  后面跟上 配置文件的路径
-f  跟上自己编写的conf文件
-n  agent的名字
-Dflume.root.logger=INFO,console   INFO 日志输出级别  Debug,INFO,warn,error 等

接着向端口中发送数据:

flume-ng avro-client -c /opt/installs/flume/conf/ -H bigdata01 -p 4141 -F /home/hivedata/arr1.txt

给avro发消息,使用avro-client

flume是没有运行结束时间的,它一直监听某个Ip的端口,有消息就处理,没消息,就等着,反正不可能运行结束。

 如果想停止,可以使用ctrl + c 终止flume。


http://www.kler.cn/a/384793.html

相关文章:

  • 每天五分钟深度学习框架pytorch:如何加载手写字体数据集mnist?
  • 在 Vue 中实现与优化轮询技术
  • 分布式和微服务的区别
  • 《Vue3 报错》Uncaught TypeError: s.finally is not a function
  • SDL基本使用
  • Python知识点:基于Python工具,如何使用Web3.py进行以太坊智能合约开发
  • 入门网络安全工程师要学习哪些内容(详细教程)
  • 梧桐数据库与mysql及oracle关于交换服务器编号的SQL写法分析
  • ES + SkyWalking + Spring Boot:日志分析与服务监控(三)
  • [c++高阶]哈希的深度解析
  • Adaptive AUTOSAR ——Cryptography (在自适应AUTOSAR中的应用:概念、功能与实现)
  • 管理 Elasticsearch 变得更容易了,非常容易!
  • 第二十六章 Vue之在当前组件范围内获取dom元素和组件实例
  • vue3 css的样式如果background没有,如何覆盖有background的样式
  • 青少年编程与数学 02-003 Go语言网络编程 08课题、Session
  • SpringMVC课时2
  • PHP网络爬虫常见的反爬策略
  • App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
  • 『Django』APIView基于类的用法
  • 创建线程时传递参数给线程
  • 基于51单片机超声波测距
  • Flutter 鸿蒙next 中使用 MobX 进行状态管理
  • vue3学习---案例实现学习
  • Ubuntu 22.04.5 LTS配置 bond
  • 删除 git submodule
  • 力扣 -- 滑动窗口