Hadoop学习笔记(28)Flume的命令和配置文件介绍

一、Flume的命令

1、如何查看Flume的命令?

进入bin目录,输入命令flume-ng

[admin@master apache-flume-1.9.0-bin]$ ls
bin  CHANGELOG  conf  DEVNOTES  doap_Flume.rdf  docs  lib  LICENSE  NOTICE  README.md  RELEASE-NOTES  tools
[admin@master apache-flume-1.9.0-bin]$ cd bin
[admin@master bin]$ ls
flume-ng  flume-ng.cmd  flume-ng.ps1
[admin@master bin]$ flume-ng
Error: Unknown or unspecified command ''

Usage: /home/admin/apache-flume-1.9.0-bin/bin/flume-ng <command> [options]...

commands:
  help                      display this help text
  agent                     run a Flume agent
  avro-client               run an avro Flume client
  version                   show Flume version info

global options:
  --conf,-c <conf>          use configs in <conf> directory
  --classpath,-C <cp>       append to the classpath
  --dryrun,-d               do not actually start Flume, just print the command
  --plugins-path <dirs>     colon-separated list of plugins.d directories. See the
                            plugins.d section in the user guide for more details.
                            Default: $FLUME_HOME/plugins.d
  -Dproperty=value          sets a Java system property value
  -Xproperty=value          sets a Java -X option

agent options:
  --name,-n <name>          the name of this agent (required)
  --conf-file,-f <file>     specify a config file (required if -z missing)
  --zkConnString,-z <str>   specify the ZooKeeper connection to use (required if -f missing)
  --zkBasePath,-p <path>    specify the base path in ZooKeeper for agent configs
  --no-reload-conf          do not reload config file if changed
  --help,-h                 display help text

avro-client options:
  --rpcProps,-P <file>   RPC client properties file with server connection params
  --host,-H <host>       hostname to which events will be sent
  --port,-p <port>       port of the avro source
  --dirname <dir>        directory to stream to avro source
  --filename,-F <file>   text file to stream to avro source (default: std input)
  --headerFile,-R <file> File containing event headers as key/value pairs on each new line
  --help,-h              display help text

  Either --rpcProps or both --host and --port must be specified.

Note that if <conf> directory is specified, then it is always included first
in the classpath.

[admin@master bin]$ 

2、Flume命令解析

Flume的命令有4种:
help:显示帮助文本

[admin@master ~]$ flume-ng help

agent:执行一个进程

[admin@master ~]$ flume-ng agent
agent options:
  --name,-n <name>          <name>这个agent的名称(必需的)
  --conf-file,-f <file>     <file>指定一个配置文件(如果缺少-z则需要)
  --zkConnString,-z <str>   指定使用的ZooKeeper连接(如果缺少-f则需要)
  --zkBasePath,-p <path>    指定agent configs在ZooKeeper中的基本路径
  --no-reload-conf          如果变化,不重新加载配置文件
  --help,-h                 显示帮助文本

avro-client:运行一个avro Flume客户端

[admin@master ~]$ flume-ng avro-client
avro-client options:
  --rpcProps,-P <file>   RPC客户端属性文件与服务器连接参数
  --host,-H <host>       事件将被发送到的主机名
  --port,-p <port>       avro源端口
  --dirname <dir>        目录流到avro源
  --filename,-F <file>   text file to stream to avro source (default: std input)
  --headerFile,-R <file> 每一行包含事件头作为键值对的文件
  --help,-h              显示帮助文本

version:查看flume的版本

[admin@master ~]$ flume-ng version

二、Flume的配置文件

1、agent的配置文件

(1)需要定义agent的名称,还需要定义Source、Channel、Sink(名称是什么?有几个?)
(2)需要对Source、Channel、Sink指明具体的类型和配置
(3)需要指明Source、Channel、Sink三者之间的依赖关系

如下是agent示例文件:netcatsource_to_loggersink.conf

#a1是agent的名称
#定义的source、channel、sink的个数可以是多个,中间使用空格隔开
#定义souece
a1.sources = r1
a1.channel = c1
a1.sink = k1

#声明source具体的类型和对应的一些配置(属性)
a1.sources.r1.type = netcat
a1.sources.r1.bind = master
a1.sources.r1.port = 44444

#声明channel具体的类型和对应的一些配置
a1.channels.c1.type = memory
#channel中event的数量
a1.channels.c1.capacity = 1000

#声明sink具体的类型和对应的一些配置
a1.sinks.k1.type = logger

#声明source、sink分别与channel之间的依赖关系(注意:一个sink只能对应一个channel,一个channel可以对应多个sink)
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

三、Flume运行agent的命令

1、方式一

flume-ng agent --name <agent名称> --conf <配置文件的目录> --conf-file <agent配置文件的存放目录>

[admin@master apache-flume-1.9.0-bin]$ flume-ng agent --name a1 --conf conf/ --conf-file /home/admin/flume_agent/netcatsource_to_loggersink.conf -Dflume.root.logger=INFO,console

注:-Dflume.root.logger=INFO,console指将日志文件写入到控制台上

2、方式二

flume-ng agent -n <agent名称> -c <配置文件的目录> -f <agent配置文件的存放目录>

[admin@master apache-flume-1.9.0-bin]$ flume-ng agent -n a1 -c conf/ -f /home/admin/flume_agent/netcatsource_to_loggersink.conf -Dflume.root.logger=INFO,console
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hadoop是一个开源的分布式计算框架,可用于大数据的存储和处理。它采用了分布式文件系统(HDFS)和分布式计算框架(MapReduce),能够将大数据分割成小的数据块,并在集群中的多台计算机上并行处理这些数据块。 HDFS是Hadoop的分布式文件系统,它将大文件切分为多个数据块,并将这些数据块存储在集群中的多个计算机上。HDFS使用主从架构,其中NameNode负责管理文件系统的元数据,而多个DataNode负责实际存储数据。HDFS具有高容错性,能够自动复制数据块以保证数据的可靠性。 MapReduce是Hadoop的分布式计算框架,它通过将计算任务划分为多个Map和Reduce阶段来进行并行计算。Map阶段将输入数据切分为多个独立的小任务,并在集群中的多个计算机上并行执行。Reduce阶段将Map阶段的输出合并并进行聚合计算。MapReduce具有自动并行化、容错性和可扩展性等优点,能够高效地处理大规模数据集。 在学习Hadoop时,首先要了解Hadoop的核心组件,包括HDFS和MapReduce。然后,需要学习Hadoop的架构和工作原理,理解Hadoop如何实现分布式存储和计算。接下来,需要学习Hadoop的安装和配置,包括在单机和集群环境下的安装和配置过程。此外,还需要学习Hadoop命令行工具和管理工具,以及Hadoop的API和编程模型。 在实际使用Hadoop时,需要掌握Hadoop的常用操作和管理技巧,如如何上传和下载文件、如何执行MapReduce作业、如何监控和管理Hadoop集群等。同时,需要学习Hadoop的优化技术和调优方法,以提高Hadoop集群的性能和效率。 总之,对于Hadoop学习,除了理解其基础知识和工作原理外,还需要熟悉其常用操作和管理技巧,以及灵活运用Hadoop来解决实际的大数据问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值