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

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 【大数据技术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

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

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

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

相关文章
|
1月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
143 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
118 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
88 1
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
1月前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
72 1
|
2月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
73 0
|
2月前
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
48 0
|
2月前
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
104 0
|
1月前
|
SQL 机器学习/深度学习 分布式计算
Spark快速上手:揭秘大数据处理的高效秘密,让你轻松应对海量数据
【10月更文挑战第25天】本文全面介绍了大数据处理框架 Spark,涵盖其基本概念、安装配置、编程模型及实际应用。Spark 是一个高效的分布式计算平台,支持批处理、实时流处理、SQL 查询和机器学习等任务。通过详细的技术综述和示例代码,帮助读者快速掌握 Spark 的核心技能。
95 6
|
2月前
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
65 1