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
来源:https://blog.csdn.net/weixin_43548210/article/details/102758932