【大数据技术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

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

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

 

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

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值