四十五、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(集群模式)完成

相关文章
|
27天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
101 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
85 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
136 2
|
1月前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
190 0
|
7月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
106 1
|
6月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
818 4
|
2月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
68 0
下一篇
DataWorks