apache-flume-1.7.0安装及测试

环境:ubuntu16.0.4,hadoop-2.7.3+hbase-1.3.0+hive-2.1.1+zookeeper-3.4.10+jdk1.8

我的是hadoop集群,一共三个节点。


从flume官网上下载flume-1.7.0。


将压缩包放到Master用户主目录下面。

1.安装

然后在用户主目录下面解压:

ubuntuserver@Master:~$tar -zxvf apache-flume-1.7.0-bin.tar.gz

将解压后的文件移动到/usr/local目录下:

ubuntuserver@Master:~$sudo mv apache-flume-1.7.0-bin /usr/local

配置环境变量(/etc/profile),添加以下内容:

export FLUME_HOME=/usr/local/apache-flume-1.7.0-bin

export PATH=$FLUME_HOME/bin:$PATH

保存/etc/profile文件,然后执行source /etc/profile

2.配置

再进入到conf目录中:

ubuntuserver@Master:~$cd $FLUME_HOME/conf

复制一份配置文件

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin/conf$sudo cp flume-env.sh.template flume-env.sh

然后编辑该配置文件内容,加入下面一句话(jdk的目录)

export JAVA_HOME=/usr/local/jdk1.8.0_111

然后保存文件。


然后复制另一份配置文件

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin/conf$sudo cp flume-conf.properties.template flume.conf

将flume.conf中的内容全部注释掉,然后在文件末尾添加如下的内容

#agent1表示代理名称
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1

#配置source1
agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir=/usr/local/apache-flume-1.7.0-bin/flume-logs
agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader=false

#配置sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://Master:9000/flume-logs
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=4
agent1.sinks.sink1.channel=channel1

#配置channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/usr/local/apache-flume-1.7.0-bin/flume-tmp-Dir
agent1.channels.channel1.dataDirs=/usr/local/apache-flume-1.7.0-bin/flume-tmp-Dirs

然后在flume安装目录下,新建三个文件夹,分别是flume-logs,flume-tmp-Dir,flume-tmp-Dirs。


ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin$ sudo mkdir flume-logs

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin$ sudo mkdir flume-tmp-Dir

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin$ sudo mkdir flume-tmp-Dirs

然后修改这三个文件夹的权限。

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin$ sudo chown -R ubuntuserver flume-logs

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin$ sudo chown -R ubuntuserver flume-tmp-Dir

ubuntuserver@Master:/usr/local/apache-flume-1.7.0-bin$ sudo chown -R ubuntuserver flume-tmp-Dirs

然后在hdfs中创建一个目录:

ubuntuserver@Master:~$hadoop fs -mkdir /flume-logs

到此,基本工作已经完成。


3.启动

ubuntuserver@Master:~$ flume-ng agent -n agent1 -c conf -f /usr/local/apache-flume-1.7.0-bin/conf/flume.conf -Dflume.root.logger=INFO,console

可以看到flume的三大组件:channel,sink,source都已经被启动了。

4.测试

这里需要注意了,如果flume是从命令行终端启动的,那么不要关闭它。如果没有命令行终端(比如是服务器版本的

Linux)界面,那么从SecucreCRT上面启动flume。当然,启动flume之前必须先启动hadoop集群。


再启动一个命令行终端,在该终端下面输入以下命令:


通过这个命令,上传了一个文件到flume-logs文件夹。于此同时,在启动flume的那个终端界面里面,会刷出一下信息:


可以看到flumetest1.log已经被上传到hdfs的/flume-logs目录下面。

然后再从集群中的另一个节点下面查看上传的文件的内容。


可以看到文件内容为:hello flume1,。与之前在上传之前是一样的,说明文件被上传成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值