linux单节点配置flume1.8

使用版本:hadoop2.7.3  jdk:1.7  flume:1.5

前提:hadoop已经启动起来。jdk已经安装好,并且配置了环境变量,此flume轮询的文件夹是/itcast/logs文件夹,要提前创建。

下载flume1.5到你的系统中,解压到你指定的目录下。接着

1,进入到apache-flume-1.5.0-bin/conf。将flume-env.sh.template改成flume-env.sh。vim flume-env.sh。加入

JAVA_HOME=你的jdk目录,比如/itcast/jdk1.7.0_80

2,弄个conf文件,比如下面这个(a4.conf),

#定义agent名, source、channel、sink的名称
a4.sources = r1
a4.channels = c1
a4.sinks = k1

#具体定义source
a4.sources.r1.type = spooldir
a4.sources.r1.spoolDir = /itcast/logs

#具体定义channel
a4.channels.c1.type = memory
a4.channels.c1.capacity = 10000
a4.channels.c1.transactionCapacity = 100

#定义拦截器,为消息添加时间戳
a4.sources.r1.interceptors = i1
a4.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder


#具体定义sink
a4.sinks.k1.type = hdfs
a4.sinks.k1.hdfs.path = hdfs://ns1/flume/%Y%m%d

a4.sinks.k1.hdfs.filePrefix = events-
a4.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
a4.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个文件
a4.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
a4.sinks.k1.hdfs.rollInterval = 60

#组装source、channel、sink
a4.sources.r1.channels = c1
a4.sinks.k1.channel = c1

其实还有别的方式,这只是其中一种。然后把这个文件拷贝到apache-flume-1.5.0-bin/conf下。

然后将hadoop中的core-site.xml和hdfs-site.xml拷贝到apache-flume-1.5.0-bin/conf下。

3、hadoop-2.7.3/share/hadoop/common这个文件下的hadoop-common-2.7.3.jar拷贝到/apache-flume-1.5.0-bin/lib下
     hadoop-2.7.3/share/hadoop/common/lib下的commons-configuration-1.6.jar拷贝到apache-flume-1.5.0-bin/lib下
     hadoop-2.7.3/share/hadoop/common/lib下的hadoop-auth-2.7.3.jar拷贝到/apache-flume-1.5.0-bin/lib下

     hadoop-2.7.3/share/hadoop/hdfs/hadoop-hdfs-2.7.3.jar拷贝到apache-flume-1.5.0-bin/lib下

如果没拷贝这三个包,对应的错误如下:

然后就可以启动flume了。命令如下

bin/flume-ng agent -n a4 -c conf -f conf/a4.conf -Dflume.root.logger=INFO,console

说明:这是在flume的根目录下启动的,如果在bin目录下启动,应该是

./flume-ng agent -n a4 -c ../conf -f ../conf/a4.conf -Dflume.root.logger=INFO,console

对比下就知道那里需要路径了。其中

flume-ng:启动flume
agent:启动agent
-n a4:-n:agent名称 名称是a4
-c conf:-c:conf,读配置信息,在conf下面
-f conf/a4.conf:-f:决定source等啥类型 在conf/a4.conf中
-Dflume:-D:指定运行时参数

如果有错误如下:

这是版本升级导致的,在apache-flume-1.5.0-bin/conf/core-site.xml中加入:

        <property>
                <name>fs.hdfs.impl</name>
                <value>org.apache.hadoop.hdfs.DistributeFileSystem</value>
                <description>
                        The FileSystem for hdfs:uris.
                </description>
        </property>

备注:如果你们已经启动起来了,在/itcast/logs/文件夹下放入文件,就会上传到hdfs上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值