Flume安装和配置(完全分布式)

别来无恙 提交于 2019-12-02 12:08:50

Flume安装和配置

进入路径/usr/local/

cd /usr/local/

在该路径下解压apache-flume-1.9.0-bin.tar.gz

tar -zxvf /root/ apache-flume-1.9.0-bin.tar.gz
在这里插入图片描述
#tar解压文件,-z调用gzip程序来压缩文件,压缩后的文件名称以.gz结尾,-x解压文件,-v显示详细的tar处理的文件信息,-f要操作的文件名。

mv apache-flume-1.9.0-bin.tar.gz flume
在这里插入图片描述
#重命名mv 文件名 文件名 将源文件名改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名。

配置三个节点master slave1 slave2

vi /etc/profile
在这里插入图片描述
添加以下内容:
在这里插入图片描述
wq保存退出,刷新环境变量source /etc/profile

source /etc/profile
在这里插入图片描述
#/etc/profile里面的变量是全局的,对所有用户的shell有效(shell变量是环境变量,是局部的,只对特定的shell有效)。

#source通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

#/bin目录存在所有的系统指令(linux默认的自带指令),这个目录中的所有指令都可以被所有的Linux用户正常的使用(包括普通用户),也可以被root使用。

#vim的命令
:q在vim中表示退出
:wq表示保存并退出
:q!表示强制不保存退出

进入路径/usr/local/flume/conf/

cd /usr/local/flume/conf/
vi flume-env.sh
在这里插入图片描述
复制一份flume-env.sh.template文件并将其改为spark-env.sh
cp flume-env.sh.template flume-env.sh
#cp复制文件或目录 -r、-R:递归复制目录;
三种操作模式:文件到文件、文件到目录、目录到目录;
文件到文件的操作模式,只允许有两个参数.

添加以下内容:
在这里插入图片描述
#Java的安装路径
wq保存退出

把flume分发到各个节点(slave1,slave2)

scp -r flume slave1:/usr/local/
scp -r flume slave2:/usr/local/

#scp可以实现远程主机之间的文件复制
使用ssh协议,所有想要免密进行复制,需要发送秘钥给相应的节点
-r: 复制目录时使用
-P:大写的P指定端口

查看flume版本

flume-ng version
在这里插入图片描述
#默认情况下,Flume中的PollingPropertiesFileConfigurationProvider
(轮询属性文件配置提供程序)会每隔30秒去重新加载Flume agent的配置文件,如果监听到配置文件变化了,Flume会试图重新加载变化的配置文件。判断配置文件是否变化主要是基于文件的最后修改时间来的。

修改agent.conf配置文件

touch agent.conf

#touch修改文件时间戳,或者新建一个不存在的文件.
命令参数:
-c 不建立任何文档
-d 使用指定的日期时间,而非现在的时间
-r 更新前者的时间戳,使其与后者的时间戳一样

vi agent.conf
添加以下内容:
在这里插入图片描述
wq保存退出,创建sqoopDir的路径,logs;

cd /usr/local/flume/

mkdir logs

修改contact.conf配置文件

touch contact.conf

vi contact.conf
添加以下内容:
在这里插入图片描述
wq保存退出

把flume分发到各个节点(slave1,slave2)

scp -r flume slave1:/usr/local/

scp -r flume slave2:/usr/local/

启动flume
master:

flume-ng agent --conf conf --conf-file conf/contact.conf -n a1 -Dflume.root.logger=INFO,console

slave1:

flume-ng agent --conf conf --conf-file conf/agent.conf --name a1 -Dflume.root.logger=INFO,console

slave2:

flume-ng agent --conf conf --conf-file conf/agent.conf --name a1 -Dflume.root.logger=INFO,console

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!