【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)

简介: 【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)

Flume简介

Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume主要由3个重要的组件构成:

1)Source:完成对日志数据的收集,分成transtion 和 event 打入到channel之中。

2)Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。

3)Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器

Flume逻辑上分三层架构:agent,collector,storage。agent用于采集数据,agent是Flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。collector的作用是将多个agent的数据汇总后,加载到storage中。storage是存储系统,可以是一个普通file,也可以是HDFS,HIVE,HBase等。

Flume安装

1)下载apache-flume-1.8.0-bin.tar.gz,下载网址是:

下载网址

2)执行tar -zxvf apache-flume-1.8.0-bin.tar.gz -C /hadoop/ 命令进行解压缩,此例的解压路径是/hadoop。

3)编辑/etc/profile文件,加入以下内容:(以前的JAVA配置在安装hadoop时已经配置)。

4) 生成conf路径下的flume-env.sh 配置文件,执行拷贝命令

5)编辑flume-env.sh文件,在文件的最开始位置增加一行内容,根据你的jdk安装路径设置JAVA_HOME变量

export  JAVA_HOME=/usr/java/jdk1.8.0_161

6) 生成conf路径下的/flume-conf.properties 配置文件,执行拷贝命令

7)编辑flume-env.sh文件,在文件末尾加入agent1、source1、channel1、sink1配置

8)启动服务,命令行上执行以下命令:

flume-ng agent -n agent1 -c conf -f
  /hadoop/apache-flume-1.8.0-bin/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console

9)测试:在/hadoop/apache-flume-1.8.0-bin/logs创建一个文件test.txt,输入文本hello flume,可以看到flume的agent自动上传了我们刚刚创建的文件

Kafka简介

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理生产者和消费者的所有动作流数据。生产者(Produce)向Kafka集群发送消息,在发送消息之前,会对消息进行分类,即主题(Topic),通过对消息指定主题可以将消息分类,消费者可以只关注自己需要的Topic中的消息。消费者(Consumer)通过与kafka集群建立长连接的方式,不断地从集群中拉取消息,然后可以对这些消息进行处理

Kafka安装

1)下载/kafka_2.11-2.4.1.tgz,

2)执行tar -zxvf  kafka_2.11-2.4.1.tgz -C /hadoop/ 命令进行解压缩,此例的解压路径是/hadoop.

3)编辑/etc/profile文件,加入以下内容

export ZOOKEEPER_HOME=/hadoop/zookeeper-3.4.13
export KAFKA_HOME=/hadoop/kafka_2.11-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin

4)修改config路径下的server.properties 配置文件

broker.id=0
listeners=PLAINTEXT://172.16.106.69:9092
advertised.listeners=PLAINTEXT://172.16.106.69:9092
zookeeper.connect=172.16.106.69:2181,172.16.106.70:2181,172.16.106.71:2181
#根据自己ip对应修改即可

5)将安装文件拷贝到另两个节点,命令如下:

scp -r kafka_2.11-2.4.1 root@172.16.106.70:/hadoop/
scp -r kafka_2.11-2.4.1 root@172.16.106.71:/hadoop/

6)另外两个节点上的配置

broker.id 分别修改成: 1 和 2
 listeners 在ip那里分别修改成子节点对应的
 advertised.listeners ip那里分别修改成子节点对应的

(2)另外两个节点上配置kafka环境变量

7)启动服务,  在三个节点都启动kafka上执行以下命令:

./kafka-server-start.sh /hadoop/kafka_2.11-2.4.1/config/server.pro

8)测试。 在主节点上创建主题TestTopic,命令如下:

kafka-topics.sh 
--zookeeper 172.16.106.69:2181,172.16.106.70:2181,172.16.106.71:2181 
--topic TestTopic --replication-factor 1 --partitions 1 --create

在主节点上启动一个生产者,命令如下:

kafka-console-producer.sh
 --broker-list 172.16.106.69:9092,172.16.106.70:9092,172.16.106.71:9092
   --topic TestTopic

在其他两个节点上分别创建消费,命令如下:

kafka-console-consumer.sh 
--bootstrap-server ,172.16.106.70:9092 --topic TestTopic --from-beginning
kafka-console-consumer.sh
 --bootstrap-server ,172.16.106.71:9092 --topic TestTopic --from-beginning

在主节点生产者命令行那里输入一段话

然后你就会发现在其他两个消费者节点那里也出现了这句话,即消费到了该数据,演示如下

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
11月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
575 79
|
SQL 分布式计算 大数据
MaxCompute 聚簇优化推荐简介
在大数据计算中,Shuffle 是资源消耗最大的环节之一。MaxCompute 提供聚簇优化推荐功能,通过调整 Cluster 表结构,有效减少 Shuffle 量,显著提升作业性能并节省计算资源。实际案例显示,该功能可帮助用户每日节省数 PB 的 Shuffle 数据量及数千 CU 的计算成本。
275 0
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
635 6
|
存储 缓存 分布式计算
大数据-83 Spark 集群 RDD编程简介 RDD特点 Spark编程模型介绍
大数据-83 Spark 集群 RDD编程简介 RDD特点 Spark编程模型介绍
214 4
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
230 3
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
356 2
|
分布式计算 Java Hadoop
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
203 1
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
620 2
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
523 1
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
457 4