四十五、centos安装flume(集群模式)

简介: 四十五、centos安装flume(集群模式)

环境准备:


hadoop集群正常运行


zookeeper正常运行


机器 master slave1 slave2

IP 192.168.231.105 192.168.231.106 192.168.231.107


环境搭建:


一、下载安装


       1、下载flume-1.8.0-bin.tar.gz:


Index of /flume/1.8.0
https://downloads.apache.org/flume/1.8.0/


       2、解压:


tar -zxvf apache-flume-1.8.0-bin.tar.gz -C /home


       3、重命名:


mv apache-flume-1.8.0-bin/ flume


二、环境变量


       1、配置flume环境变量:


vim /etc/profile

c80ba2efc9094b049fbaa83fab7383dc.png


       2、使环境变量立即生效:


source /etc/profile


三、配置文件


       1、修改配置文件  flume-env.sh:


               进入conf目录,拷贝  flume-env.sh.template  为  flume-env.sh:


cp flume-env.sh.template flume-env.sh


               修改jdk路径:


export JAVA_HOME=/home/jdk

42ca4fc27b3d4e70a39ba40ab5d311e5.png


        2、在 conf 目录下创建slave.conf文件:


vim slave.conf


# 主要作用是监听目录中的新增数据,采集到数据之后,输出到avro (输出到agent)
# 注意:Flume agent的运行,主要就是配置source channel sink
# 下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#具体定义source  
a1.sources.r1.type = spooldir
#先创建此目录,保证里面空的  
a1.sources.r1.spoolDir = /tmp/logs 
#对于sink的配置描述 使用avro日志做数据的消费
a1.sinks.k1.type = avro
# hostname是最终传给的主机名称或者ip地址
a1.sinks.k1.hostname = master
a1.sinks.k1.port = 44444
#对于channel的配置描述 使用文件做数据的临时缓存 这种的安全性要高
a1.channels.c1.type = file
a1.channels.c1.checkpointDir = /home/flume/checkpoint
a1.channels.c1.dataDirs = /home/flume/data
#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

16e912d7bd56456eb67136a91a25c808.png


注:需要注意的地方标号已注明,需保证logs目录存在且为空,3,4两处依据实际情况进行修改


       3、在  /tmp/下创建logs监控目录,flume/  目录下创建checkpoint,data目录(3台机器全部都要做):


mkdir -p /tmp/logs


mkdir checkpoint


mkdir data


       4、分发 flume 文件到slave1和slave2从机:


scp -r /home/flume slave1:/home/flume


scp -r /home/flume slave2:/home/flume

       5、在master的flume的conf文件夹下创建一个master.conf文件:


vim master.conf


# 获取slave1,2上的数据,聚合起来,传到hdfs上面
# 注意:Flume agent的运行,主要就是配置source channel sink
# 下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#对于source的配置描述 监听avro
a1.sources.r1.type = avro
# hostname是最终传给的主机名称或者ip地址
a1.sources.r1.bind = master
a1.sources.r1.port = 44444
#定义拦截器,为消息添加时间戳  
a1.sources.r1.interceptors = i1  
a1.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder
#对于sink的配置描述 传递到hdfs上面
a1.sinks.k1.type = hdfs  
#集群的nameservers名字
#单节点的直接写:hdfs://主机名(ip):9000/xxx
a1.sinks.k1.hdfs.path = hdfs://master:9000/flume/%Y%m%d  
a1.sinks.k1.hdfs.filePrefix = events-  
a1.sinks.k1.hdfs.fileType = DataStream  
#不按照条数生成文件  
a1.sinks.k1.hdfs.rollCount = 0  
#HDFS上的文件达到128M时生成一个文件  
a1.sinks.k1.hdfs.rollSize = 134217728  
#HDFS上的文件达到60秒生成一个文件  
a1.sinks.k1.hdfs.rollInterval = 60  
#对于channel的配置描述 使用内存缓冲区域做数据的临时缓存
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1


注:如果机器名与笔者相同,只需修改这一行即可,master后的数字为core-site.xml配置文件中的配置数字


四、启动集群


       1、启动hadoop集群:


sbin/start-all.sh


8048c96a5a8f4e8ea5ff76eeeb1cce41.png

       2、启动zookeeper:


bec39ae97a184aa0ac0ecb1d59dc52b9.png


7f241acdae6743bda2d4c0c925e55576.png


       3、启动flume集群:


在flume目录下
        master端:
bin/flume-ng agent -n a1 -c conf -f conf/master.conf -Dflume.root.logger=INFO,console
        slave1端和slave2端:
bin/flume-ng agent -n a1 -c conf -f conf/slave.conf -Dflume.root.logger=INFO,console


五、在slave机器 /tmp/logs 目录下创建文本


       1、创建test1:


vim test1


88ad6ddf37004039a63deb3d0d4d4ee7.png


       2、创建test2:


vim test2

c3f87455b256415ba366a3458fb2f322.png


slave端:


61d49bcaca894c3eaba2cd2238e70322.png


master端:


78638baecdb64f58995922b07313ea28.png


注:可以在master和slave终端均看到有持续的信息回读且正确读取到test1和test2文件


六、web端查看


master:50070


8359a9804b4243a18debfd698a2d72af.png

38b3236549574a4dbf883d87526dd54c.png

cd0fb7228373418aba9ef9d1a771fa78.png

ec709ce54e7f402788a69090464f12e2.png


七、终端查看上传hdfs文件:


       1、查看 hdfs 根目录列表:


hdfs dfs -ls /


932f150790654c9c931e8ae4479dbd2d.png


        2、查看上传文件内容:


hdfs dfs -cat /flume/20211109/events-.1636507269933


e067df4e9fc045f9a3a9995b21356173.png


centos安装flume(集群模式)完成

相关文章
|
17小时前
|
Linux Apache
Centos7 安装Apache
安装Apache的步骤
15 6
|
1天前
|
网络协议 Linux Docker
在centos7下通过docker 安装onlyoffice
在centos7下通过docker 安装onlyoffice
|
1天前
|
NoSQL Linux Redis
本地虚拟机centos7通过docker安装主从redis3.2
本地虚拟机centos7通过docker安装主从redis3.2
|
1天前
|
关系型数据库 MySQL Linux
本地虚拟机centos7通过docker安装主从mysql5.7.21
本地虚拟机centos7通过docker安装主从mysql5.7.21
|
1天前
|
Linux 数据安全/隐私保护 Docker
在centos7虚拟机上安装docker oracle11g
在centos7虚拟机上安装docker oracle11g
|
2天前
|
安全 Linux 开发者
CentOS 7安装全解析:适合初学者的指导
CentOS 7安装全解析:适合初学者的指导
|
2天前
|
关系型数据库 MySQL Linux
在Centos7中:通过Docker安装MySQL5.7(保姆级)
在Centos7中:通过Docker安装MySQL5.7(保姆级)
|
1月前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
8月前
|
SQL 分布式计算 监控
大数据Flume快速入门
大数据Flume快速入门
59 0
|
8月前
|
SQL 存储 监控
大数据Flume企业开发实战
大数据Flume企业开发实战
38 0

热门文章

最新文章