`
sunbin
  • 浏览: 354527 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flume + Kafka系统搭建

 
阅读更多

1、搭建kafka,参考 Kafka集群部署

2、flume版本apache-flume-1.6.0-bin.tar.gz

3、Flume安装流程:

     首先解压apache-flume-1.6.0-bin.tar.gz

      修改配置文件

      

cp conf/flume-env.sh.template flume-env.sh
vi  flume-env.sh
修改配置项目
export JAVA_HOME=/usr/java/jdk1.7.0_67

 3、连接kafka,新建配置文件xxx.conf  (文件名随便,但启动时需要)

   

a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.bind = sto1
a1.sources.r1.port = 41414

# Describe the sink
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = testflume
a1.sinks.k1.brokerList = sto1:9092,sto2:9092,sto3:9092
a1.sinks.k1.requiredAcks = 1
a1.sinks.k1.batchSize = 20
a1.sinks.k1.channel = c1

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000000
a1.channels.c1.transactionCapacity = 10000

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

 4、启动集群

启动zk集群
A、启动Kafka集群。
bin/kafka-server-start.sh config/server.properties
B、配置Flume集群,并启动Flume集群。
bin/flume-ng agent -n a1 -c conf -f conf/fl.conf -Dflume.root.logger=DEBUG,console

 5、测试系统

kafka启动消费者,topic的名称不能变,且使用前可以不用手工创建
bin/kafka-console-consumer.sh --zookeeper  sto1:2181, sto2:2181, sto3:2181 --from-beginning --topic testflume

 

启动消费者:
bin/kafka-console-consumer.sh --zookeeper  sto1:2181, sto2:2181, sto3:2181 --from-beginning --topic testflume
启动生产者
bin/kafka-topics.sh --zookeeper  sto1:2181, sto2:2181, sto3:2181 --create --replication-factor 2 --partitions 1 --topic mylog_cmcc
查看topic列表:
bin/kafka-topics.sh --zookeeper sto1:2181, sto2:2181, sto3:2181 --list
启动消费者
bin/kafka-console-consumer.sh --zookeeper  sto1:2181, sto2:2181, sto3:2181 --from-beginning --topic mylog_cmcc
bin/kafka-console-consumer.sh --zookeeper  sto1:2181, sto2:2181, sto3:2181 --topic mylog_cmcc

 

java客户端代码
package com.sgb.flume;

import org.apache.flume.Event;
import org.apache.flume.EventDeliveryException;
import org.apache.flume.api.RpcClient;
import org.apache.flume.api.RpcClientFactory;
import org.apache.flume.event.EventBuilder;
import java.nio.charset.Charset;

/**
 * Flume官网案例
 * http://flume.apache.org/FlumeDeveloperGuide.html 
 * @author root
 */
public class RpcClientDemo {
	
	public static void main(String[] args) {
		MyRpcClientFacade client = new MyRpcClientFacade();
		client.init("sto1", 41414);
		for (int i = 10; i < 20; i++) {
			String sampleData = "Hello Flume!ERROR" + i;
			client.sendDataToFlume(sampleData);
			System.out.println("senddata" + sampleData);
		}
		client.cleanUp();
	}
}

class MyRpcClientFacade {
	private RpcClient client;
	private String hostname;
	private int port;

	public void init(String hostname, int port) {
		// Setup the RPC connection
		this.hostname = hostname;
		this.port = port;
		this.client = RpcClientFactory.getDefaultInstance(hostname, port);
	}
	public void sendDataToFlume(String data) {
		Event event = EventBuilder.withBody(data, Charset.forName("UTF-8"));

		try {
			client.append(event);
		} catch (EventDeliveryException e) {
			client.close();
			client = null;
			client = RpcClientFactory.getDefaultInstance(hostname, port);
		}
	}
	public void cleanUp() {
		client.close();
	}
}

 

     java客户端执行时,可以看到数据从flume流向kafka,并最终显示在消费者。此时可以通过storm与kafka的代码取得数据进行内存运算。

分享到:
评论

相关推荐

    Flume+Kafka+Storm+Hbase实现日志抓取和实施网站流量统计

    搭建Hadoop集群,并使用flume+kafka+storm+hbase实现日志抓取分析,使用一个主节点master、两个slave节点

    lamp安装配置及flume+Kafka+Storm+HDFS实时系统搭分享

    在这个过程中,文档《Twitter Storm系列》flume-ng+Kafka+Storm+HDFS 实时系统搭建.docx和《安装扎记.pdf》将提供详细的步骤指导和常见问题解决方案,帮助你顺利完成整个系统的搭建和优化。 总的来说,LNMP与实时大...

    log4j+flume+kafka+storm

    确保Kafka环境已经搭建好并且能够正常工作。首先创建一个Kafka Topic: ```bash bin/kafka-topics.sh --create --zookeeper node22:2181,node33:2181,node44:2181 --replication-factor 1 --partitions 1 --topic ...

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...

    flume+kafka搭建.docx

    本文档主要介绍如何搭建基于 Flume 和 Kafka 的数据传输系统,包括 Kafka 集群的搭建与启动、Flume 的安装配置以及 Flume 与 Kafka 的连接配置等步骤。 #### 二、Kafka集群搭建启动 Kafka 集群搭建是整个系统的...

    flume+kafka+storm搭建

    本文将详细介绍如何利用Flume、Kafka和Storm搭建一个大数据消息平台。 首先,我们来了解Flume。Flume是Cloudera公司提供的一款分布式、可靠且高可用的海量日志采集、聚合和传输的系统。它允许你定制数据发送方,...

    Flume + kafka + log4j构建日志采集系统

    本文将详细探讨如何使用Flume、Kafka和log4j构建一个高效的日志采集系统,帮助你理解这三个组件在日志处理中的角色以及如何协同工作。 首先,让我们了解一下这三个工具的基本概念: 1. **Flume**: Apache Flume 是...

    flume+kafka+storm教程

    在构建大数据实时处理系统时,`Flume`、`Kafka` 和 `Storm` 是三个重要的组件,它们分别用于数据采集、数据传输和实时数据处理。以下是对这些组件的详细说明: **Flume** 是一个分布式、可靠且可用于有效收集、聚合...

    spark环境安装(Hadoop HA+Hbase+phoneix+kafka+flume+zookeeper+spark+scala)

    本项目旨在搭建一套完整的Spark集群环境,包括Hadoop HA(高可用)、HBase、Phoenix、Kafka、Flume、Zookeeper以及Scala等多个组件的集成。这样的环境适用于大规模的数据处理与分析任务,能够有效地支持实时数据流...

    Hadoop+Hive+Spark+Kafka+Zookeeper+Flume+Sqoop+Azkaban+Scala

    分布式文件存储系统:HDFS 分布式计算框架:MapReduce 集群资源管理器:YARN 单机伪集群环境搭建 集群环境搭建 常用 Shell 命令 Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive 简介及核心概念 ...

    flume及kafka及storm搭建.rar

    在大数据处理领域,Flume、Kafka和Storm是三个至关重要的工具,它们分别在数据采集、数据分发和实时处理方面发挥着核心作用。这里我们将深入探讨这三个组件以及如何搭建它们。 1. Flume:Flume是Apache软件基金会的...

    基于spark streaming+flume+kafka+hbase的实时日志处理分析系统(分为控制台版本和基于s.zip

    在构建实时日志处理分析系统时,Spark Streaming、Flume、Kafka以及HBase这四个组件扮演了关键角色。下面将详细阐述它们的功能、交互方式以及如何共同搭建一个高效的实时数据处理流水线。 1. **Spark Streaming**:...

    基于flume+kafka_spark streaming+hbase的流式处理系统设计与实现.zip

    在构建实时大数据处理系统时,基于Flume、Kafka、Spark Streaming和HBase的组合是一个常见的选择。这个设计和实现的项目着重展示了如何利用这些工具搭建一个完整的流处理平台,适用于实时数据采集、存储和分析。以下...

    基于spark+flume+kafka+hbase的实时日志处理分析系统.zip

    存储模块:搭建和配置HDFS分布式存储系统,并Hbase和MySQL作为备用方案。 ETL模块:加载原始数据,清洗,加工,为模型训练模块 和 推荐模块 准备所需的各种数据。 模型训练模块:负责产生模型,以及寻找最佳的模型...

    flume-kafka流程

    为了确保Flume能够顺利将数据写入Kafka,首先需要搭建一个基础的运行环境: 1. **安装ZooKeeper**: - 执行命令`bin/zookeeper-server-start.sh config/zookeeper.properties`启动ZooKeeper服务。 - ZooKeeper...

    Kafka+Flume-ng搭建

    通过上述步骤,我们可以成功搭建起一套Kafka+Flume-ng的数据传输系统。这套系统不仅能够高效地收集、聚合数据,还能确保数据的安全传输和持久化存储。在实际应用中,Kafka+Flume-ng组合可以广泛应用于日志采集、监控...

    企业大数据处理:Spark、Druid、Flume与Kafka应用实践(超清完整版).pdf

    例如,书中可能会介绍如何利用Spark进行大规模数据的并行处理,如何使用Druid实现实时数据查询和分析,以及如何借助Flume和Kafka搭建可靠高效的数据流管道等。通过这些实战案例的学习,读者不仅可以掌握核心技术,还...

    大数据架构:flume-ng+Kafka+Storm+HDFS实时系统组合

    直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边...

Global site tag (gtag.js) - Google Analytics