`
zhao_rock
  • 浏览: 191078 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

基于flume-ng抓取mysql数据到kafka

阅读更多

flume是一个日志收集器,更多详细的介绍可以参照官网:http://flume.apache.org/

 

在apache flume的官网上没有找到sql数据源数据抓取的source,

可以利用github上的plugin插件:https://github.com/keedio/flume-ng-sql-source,1.4.3版本基于hibernate实现,已可以适配所有的关系型数据库。

目前的实验环境是在windows下,所以kafka在windows下相关的配置使用,参考了http://blog.csdn.net/linsongbin1/article/details/48022941

文章写的很到位,推荐给大家。

 

 

下面主要说一下flume-ng在windows下的启动,及具体的配置

启动:

“F:\Java\jdk1.8.0_101\bin\java.exe” -Xmx512m -Dlog4j.configuration=file:///E:\apache-flume-1.6.0-bin\conf\log4j.properties -cp "E:\apache-flume-1.6.0-bin\lib\*;E:\apache-flume-1.6.0-bin\plugins.d\sql-source\lib\flume-ng-sql-source-1.4.3-SNAPSHOT.jar;E:\apache-flume-1.6.0-bin\plugins.d\sql-source\libext\mysql-connector-java-5.1.35-bin.jar" org.apache.flume.node.Application -f E:\apache-flume-1.6.0-bin\conf\sql-kafka-conf.properties -n a1

 

主要的sql-kafka-conf.properties

a1.channels = ch-1
a1.sources = src-1
a1.sinks = k1

###########sql source#################
# For each one of the sources, the type is defined
a1.sources.src-1.type = org.keedio.flume.source.SQLSource

a1.sources.src-1.hibernate.connection.url = jdbc:mysql://127.0.0.1/test

# Hibernate Database connection properties
a1.sources.src-1.hibernate.connection.user = root
a1.sources.src-1.hibernate.connection.password = password
a1.sources.src-1.hibernate.connection.autocommit = true
a1.sources.src-1.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
a1.sources.src-1.hibernate.connection.driver_class = com.mysql.jdbc.Driver
a1.sources.src-1.run.query.delay=10000
a1.sources.src-1.status.file.path = E://apache-flume-1.6.0-bin
a1.sources.src-1.status.file.name = sqlSource.status

# Custom query
a1.sources.src-1.start.from = 0
a1.sources.src-1.custom.query = select id,name from test_user where id > $@$ order by id asc

a1.sources.src-1.batch.size = 1000
a1.sources.src-1.max.rows = 1000

a1.sources.src-1.hibernate.connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider
a1.sources.src-1.hibernate.c3p0.min_size=1
a1.sources.src-1.hibernate.c3p0.max_size=10

##############################

a1.channels.ch-1.type = memory
a1.channels.ch-1.capacity = 10000
a1.channels.ch-1.transactionCapacity = 10000
a1.channels.ch-1.byteCapacityBufferPercentage = 20
a1.channels.ch-1.byteCapacity = 800000


a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = hellotest
a1.sinks.k1.brokerList = localhost:9092
a1.sinks.k1.requiredAcks = 1
a1.sinks.k1.batchSize = 20
a1.sinks.k1.channel = c1


a1.sinks.k1.channel = ch-1
a1.sources.src-1.channels=ch-1

 

红色部分是需要注意的,有s


至此就完成了利用flume将mysql数据实时导入到kafka中

0
0
分享到:
评论
1 楼 kingding 2017-03-10  
我编译之后吧jar包拷贝到lib后按照你的配置修改后运行报错:
Could not configure sink  k1 due to: Component has no type. Cannot configure. k1
org.apache.flume.conf.ConfigurationException: Component has no type. Cannot configure. k1

请问是怎么回事

相关推荐

    大数据环境下的互联网数据仓库/数据平台架构

    5. **开发数据产品**:基于数据开发新的产品或服务,直接或间接为企业创造收益。 #### 三、整体架构 ##### 1. 数据采集层 - **网站日志**:通过部署Flume Agent实时收集网站日志,并存储至HDFS中。 - **业务...

    基于Hadoop的电商评论获取与研究.pdf

    综上所述,文章《基于Hadoop的电商评论获取与研究》为我们展示了一个全面的电商评论数据处理方案,它利用Hadoop生态系统的强大功能,结合WebMagic、Flume、Kafka、Spark Streaming和MySQL等工具,实现了从电商网站...

    数据中台内容中心技术方案(原始底稿可修改)

    1. **分布式采集**:利用微服务架构进行数据采集,通过Kafka和Flume等工具实现数据的实时传输。 2. **数据清洗与预处理**:针对采集到的数据进行缺失值、重复值和异常值的处理,确保数据质量。 3. **数据存储**:...

    安全大数据分析框架OpenSOC.zip

    可在企业内部部署或者云端部署具有集中化的管理流程、人员和数据当前,OpenSOC 运行条件包括:两个网卡(建议使用Napatech的NT20E2-CAP网卡)Apache Flume 1.4.0 版本及以上Apache Kafka 0.8.1 版本及以上Apache ...

    基于Python语言的Web数据挖掘与分析研究.zip

    7. **实时数据流处理**:随着实时数据需求的增长,Python的`Kafka`和`Flume`库可以帮助处理实时数据流,`Apache Storm`和`Apache Flink`等框架也能与Python结合,实现流数据的实时分析。 8. **数据安全与隐私**:在...

    数据采集系统 采集数据包括二手房 职位.zip

    9. **实时数据流处理**:对于实时或近实时数据采集,如职位发布,可能需要使用Kafka、Flume等工具来处理数据流。 10. **合规性**:在采集数据时,必须遵守数据隐私和版权法规,尊重数据来源的条款与条件。 通过对...

    数据采集.zip

    Kafka、Flume、Spark Streaming等工具可用来处理这些实时数据。 9. **隐私和合规性**:在采集数据时,必须遵守数据保护法规,如GDPR。在"data-collection-master"中可能会有关于匿名化、去标识化处理数据的示例。 ...

    电信计费系统中的数据采集模块

    这可能涉及到多线程编程、异步处理技术,以及分布式数据采集框架的运用,如Apache Flume或Kafka,它们能提供可靠的数据传输和缓冲机制,确保数据不丢失。 接下来,数据采集模块需要具备数据预处理能力,包括数据...

    大数据简历项目 关于两个联通大数据项目和一个爬虫项目

    网络爬虫项目则涉及电商网站商品信息的抓取,使用Eclipse、MySQL、Maven、JDK、SVN等工具,系统架构包括Hadoop、Zookeeper、HTTPClient、HTMLCleaner、HBase、Redis、Solr、Flume、Kafka和Storm。该项目中,爬虫用于...

    JAVA开发简历模板.pdf

    - 在“网站流量分析项目”中,他利用Flume抓取日志,Hive进行数据分析,Kafka处理实时流数据,体现了他对大数据处理流程的理解。 - “奇货天下电商项目”中,他负责后台系统开发,使用了Maven、Redis和RabbitMQ,...

    大数据技术原理的复习资料

    Web scraping用于从网页抓取结构化和非结构化数据,而Flume和Kafka则常用于实时日志收集。 四、数据存储 1. NoSQL数据库:如MongoDB、Cassandra和Redis,它们支持大规模数据的分布式存储,适应大数据的灵活性和多样...

    今日头条之技术架构分析

    用户使用行为被实时分析,采用Scribe、Flume、Kafka等工具收集用户日志。使用Hadoop和Storm进行大数据处理,构建用户兴趣模型,模型数据存储在MySQL/MongoDB(读写分离)以及Memcache/Redis中。随着用户规模的扩大...

    Alaska_Data_Ingestion

    2. **数据采集工具**:常见的数据采集工具有Apache Nifi、Flume、Kafka和Scrapy等。这些工具能够实时或定期从各种源头抓取数据,并确保数据传输的可靠性和效率。 3. **数据预处理**:摄入前,数据通常需要进行...

Global site tag (gtag.js) - Google Analytics