b2c信息网

您现在的位置是:首页 > 昨日新闻 > 正文

昨日新闻

flume源码解析(flume支持的数据源)

hacker2022-06-10 11:10:29昨日新闻75
本文目录一览:1、如何用idea查看flume源码

本文目录一览:

如何用idea查看flume源码

//下面使用MySql Connector/net提供的专用对象

MySqlConnection mycon = new MySqlConnection(constr);

mycon.Open();

MySqlCommandmycmd = new MySqlCommand("select * from users", mycon);

MySqlDataReader myreader = mycmd.ExecuteReader();

while (myreader.Read())

flume source 可以进行代码检验吗

这上面便是httpsource源码了,可以看到主要是5个类:HTTPBadRequestException,HTTPSource,HTTPSourceConfigurationConstants,HTTPSourceHandler,JSONHandler。

分别的作用是:

HTTPBadRequestException:定义一些http异常,常用的比如404。

HTTPSourceConfigurationConstants:主要定义一些source的常量,来自于配置文件。比如:port,host等等

HTTPSourceHandler:一个接口,作为handler模板。

JSONHandler:提供的默认实现Handler,选择是[“header”:,"body":]这种格式,笔者对此很不习惯,其实里面提供了好几种event模式,不知道为嘛要选择这种。

HTTPSource:这个就是主类了,里面有类似于main方法的start方法。

其实本质上httpSource就是一个嵌入了jetty的服务器,通过接受post请求(目前写死了只处理post请求)。将数据转换为event往下发。所以,修改很简单。

你只需要在HTTPSourceConfigurationConstants添加一个contextPath参数:

如何编写Flume-ng-morphline-avro-sink

找到flume源码所在路径:

(C:\apache-flume-1.5.2-src\flume-ng-sinks),拷贝一份flume-ng-morphline-solr-sink目录到同级文件夹,将目录名称修改成flume-ng-morphline-avro-sink。

2

修改flume-ng-morphline-avro-sink

目录下的pom.xml文件。修改artifactId标签中内容为flume-ng-morphline-avro-sink。修改name标签中内容为Flume NG Morphline Avro Sink。注释掉properties标签中的solr.version和solr.expected.version两个标签内容。因为是原Solr中的内容,这里用不到。

3

在eclipse中打开flume-ng-sinks/pom.xml文件

一、 在Overview标签页中的Modules点击Add,找到flume-ng-morphline-avro-sink并选中确定,将新建的morphline-avro-sink添加到Modules中。这样在该pom文件的“pom.xml”标签页中就可以看到多了一个flume-ng-morphline-avro-sink。

如何编译Flume-NG源码之最新1.5.2版本

方法

源码下载

apache-flume-1.5.2-src.tar.gz

解压至C盘根目录

建议放到C盘根目录中,测试时我是放到这里,其它目录不保证可以顺利通过,可参考测试。

运行mvn

进入c:\apache-flume-1.5.2目录,运行mvn install -DskipTests -Dtar注意:网上有其它参考材料说要先将注释掉hbase和hadoop-test相关的依赖,我没这样做,没问题。

可能根据环境不同有差异。不过大家遇到与hbase和hadoop-test相关的错误可以进行参考更正。

部分代码参考

dependency

groupIdorg.apache.hbase/groupId

artifactIdhbase/artifactId

version${hbase.version}/version

classifiertests/classifier

scopetest/scope

/dependency

dependency

groupIdorg.apache.hadoop/groupId

artifactIdhadoop-test/artifactId

version${hadoop.version}/version

/dependency

典型问题1处理[重点]

1、error reading error in opening zip file

[ERROR] error: error reading

/org/elasticsearch/elasticsearch/0.90.1/elasticsearch-0.90.1.jar;

error in opening zip file

[ERROR] - [Help 1]

出现这个错误可能是已经下载的这个jar存在问题。到本地库中找到对应的jar所在位置,然后将其删除,重新运行mvn命令可解决。以上这个错误不一定是elasticsearch的jar找不到,其他jar也可能出现这个问题。

典型问题2处理[重点]

flume-ng-morphline-solr-sink出现问题,对应的kite-morphline没有找到依赖。要使用这个flume-ng-morphline-solr-sink做些文章的,所以这里出问题必须解决。

[ERROR] Failed to execute goal on project flume-ng-morphline-solr-sink: Could no

t resolve dependencies for project org.apache.flume.flume-ng-sinks:flume-ng-morp

hline-solr-sink:jar:1.5.2: Failed to collect dependencies for [org.apache.flume:

flume-ng-core:jar:1.5.2 (compile), org.slf4j:slf4j-api:jar:1.6.1 (compile), org.

kitesdk:kite-morphlines-all:pom:0.12.0 (compile?), org.slf4j:jcl-over-slf4j:jar:

1.6.1 (provided), org.apache.solr:solr-test-framework:jar:4.3.0 (test), org.kite

sdk:kite-morphlines-solr-core:jar:tests:0.12.0 (test), junit:junit:jar:4.10 (tes

t)]: Failed to read artifact descriptor for org.kitesdk:kite-morphlines-all:pom:

0.12.0: Could not transfer artifact org.kitesdk:kite-morphlines-all:pom:0.12.0 f

rom/to cdh.repo (): Co

nnection to refused: Connection timed out: conne

ct - [Help 1]

提示的错误是连接cloudera的中央库超时了,看似是网络问题。其实解决了网络问题还有另外一个重大问题就是版本对应不上。查看了一下flume-ng-morphline-solr-sink的pom.xml文件,对应查找的kite.version是0.12.0版本。但其实cloudera的中央库上也没有这个版本了。所以解决办法是: A、将kite.version的版本改成0.15.0.修改进入源码根目录找到pom.xml文件,找到kite.version0.15.0/kite.version将0.12.0修改成0.15.0 B、找到dependenciesManagement标签,将下面代码插入到dependency中。

dependency

groupIdorg.kitesdk/groupId

artifactIdkite-morphlines-all/artifactId

version${kite.version}/version

exclusions

exclusion

groupIdorg.apache.hadoop/groupId

artifactIdhadoop-common/artifactId

/exclusion

/exclusions

typepom/type

optionaltrue/optional

/dependency

C:\apache-flume-1.5.2-src\flume-ng-sinks\flume-ng-morphline-solr-sink目录,打开pom.xml文件,将所有${kite.version}替换成0.15.0。上一步的目的是如果工程引用了org.kitesdk的话,则不使用这个版本。可以自定义其引用的版本。我在实际应用中就遇到了这两个主要的问题。当然其中还有一些主要是repository连接不上的问题(公司比较烂,网络有限制)。想各种办法从网上先down下来再上传到私服解决。最后提示”Build Success”编译成功了,见下图。

编译成eclipse工程

mvn eclipse:eclipse至此,使用eclipse导入工程即可进行开发了。

我这里还遇到了两个flume-dataset-sink的单体测试中有一个方法编译不过去的问题。因为我没用到这个sink所以也没去解决。另一个问题是可能在install时可能会遇到Missing artifact jdk.tools:jdk.tools:jar:1.6的问题。

解决办法:在flume-ng-morphline-solr-sink的pom.xml文件中添加一个依赖。

dependency

groupIdjdk.tools/groupId

artifactIdjdk.tools/artifactId

version1.7/version

scopesystem/scope

systemPath${JAVA_HOME}/lib/tools.jar/systemPath

/dependency

至于jdk的版本和系统路径根据实际的开发环境的环境变量而定,其他都没问题。

如何用maven编译flume的源码

方法 源码下载 apache-flume-1.5.2-src.tar.gz 解压至C盘根目录 建议放到C盘根目录中,测试时我是放到这里,其它目录不保证可以顺利通过,可参考测试。 运行mvn 进入c:\apache-flume-1.5.2目录

发现公司里的大数据开发挣得很多,想转行,

转行这个词汇,一直是职场上此起彼伏的一个热门话题,相信很多朋友都想过或已经经历过转行。工作可谓是我们生存乃至生活的主要收入来源,谁都希望拥有一份高薪又稳定的工作,以此来改善自己的生活和实现自己的大大小小的梦想!但又担心转行后的工作待遇达不到自己的预期,顾虑重重……

不少想进入大数据分析行业的零基础学员经常会有这样一些疑问:大数据分析零基础应该怎么学习?自己适合学习大数据分析吗?人生,就是在不断地做选择,然后在这个选择过程中成长,让自己从一棵小树苗变成参天大树。就是我们每个对大数据充满幻想终于下定决心行动的学员的选择,我们给了自己4个月的时间,想要在大数据分析这个领域汲取养分,让自己壮大成长。

【明确方向】

通过国家的战略规划,看到BAT的大牛们都在大数据行业布局,新闻媒体追捧这大数据分析行业的项目和热点,我想如果我还没有能力独立判断的时候,跟着国家政策和互联网大佬们的步调走,这应该是错不了的。

【付诸行动】

明确了方向之后,我就整装待发,刚开始是在网络上购买了很多的视频教程,也买了很多书籍,但是最大的问题就在于,我不知道怎么入手,没关系,有信心有耐心肯定能战胜困难,我坚持了一个月,学习的节奏越来越乱,陆陆续续出现了很多的问题,没人指导,请教了几个业内的朋友,但对方工作繁忙,问了几次之后就不好意思了,自学陷入了死循环。

意识到我学习效率的低下,以及无人指导的问题想想未来的康庄大道,咬咬牙告诉自己,一定好好好学,不然就浪费太多时间最后还会是一无所获。最后找到组织(AAA教育)一起学习进步!

大数据分析零基础学习路线,有信心能坚持学习的话,那就当下开始行动吧!

一、大数据技术基础

1、linux操作基础

linux系统简介与安装

linux常用命令–文件操作

linux常用命令–用户管理与权限

linux常用命令–系统管理

linux常用命令–免密登陆配置与网络管理

linux上常用软件安装

linux本地yum源配置及yum软件安装

linux防火墙配置

linux高级文本处理命令cut、sed、awk

linux定时任务crontab

2、shell编程

shell编程–基本语法

shell编程–流程控制

shell编程–函数

shell编程–综合案例–自动化部署脚本

3、内存数据库redis

redis和nosql简介

redis客户端连接

redis的string类型数据结构操作及应用-对象缓存

redis的list类型数据结构操作及应用案例-任务调度队列

redis的hash及set数据结构操作及应用案例-购物车

redis的sortedset数据结构操作及应用案例-排行榜

4、布式协调服务zookeeper

zookeeper简介及应用场景

zookeeper集群安装部署

zookeeper的数据节点与命令行操作

zookeeper的java客户端基本操作及事件监听

zookeeper核心机制及数据节点

zookeeper应用案例–分布式共享资源锁

zookeeper应用案例–服务器上下线动态感知

zookeeper的数据一致性原理及leader选举机制

5、java高级特性增强

Java多线程基本知识

Java同步关键词详解

java并发包线程池及在开源软件中的应用

Java并发包消息队里及在开源软件中的应用

Java JMS技术

Java动态代理反射

6、轻量级RPC框架开发

RPC原理学习

Nio原理学习

Netty常用API学习

轻量级RPC框架需求分析及原理分析

轻量级RPC框架开发

二、离线计算系统

1、hadoop快速入门

hadoop背景介绍

分布式系统概述

离线数据分析流程介绍

集群搭建

集群使用初步

2、HDFS增强

HDFS的概念和特性

HDFS的shell(命令行客户端)操作

HDFS的工作机制

NAMENODE的工作机制

java的api操作

案例1:开发shell采集脚本

3、MAPREDUCE详解

自定义hadoop的RPC框架

Mapreduce编程规范及示例编写

Mapreduce程序运行模式及debug方法

mapreduce程序运行模式的内在机理

mapreduce运算框架的主体工作流程

自定义对象的序列化方法

MapReduce编程案例

4、MAPREDUCE增强

Mapreduce排序

自定义partitioner

Mapreduce的combiner

mapreduce工作机制详解

5、MAPREDUCE实战

maptask并行度机制-文件切片

maptask并行度设置

倒排索引

共同好友

6、federation介绍和hive使用

Hadoop的HA机制

HA集群的安装部署

集群运维测试之Datanode动态上下线

集群运维测试之Namenode状态切换管理

集群运维测试之数据块的balance

HA下HDFS-API变化

hive简介

hive架构

hive安装部署

hvie初使用

7、hive增强和flume介绍

HQL-DDL基本语法

HQL-DML基本语法

HIVE的join

HIVE 参数配置

HIVE 自定义函数和Transform

HIVE 执行HQL的实例分析

HIVE最佳实践注意点

HIVE优化策略

HIVE实战案例

Flume介绍

Flume的安装部署

案例:采集目录到HDFS

案例:采集文件到HDFS

三、流式计算

1、Storm从入门到精通

Storm是什么

Storm架构分析

Storm架构分析

Storm编程模型、Tuple源码、并发度分析

Storm WordCount案例及常用Api分析

Storm集群部署实战

Storm+Kafka+Redis业务指标计算

Storm源码下载编译

Strom集群启动及源码分析

Storm任务提交及源码分析

Storm数据发送流程分析

Storm通信机制分析

Storm消息容错机制及源码分析

Storm多stream项目分析

编写自己的流式任务执行框架

2、Storm上下游及架构集成

消息队列是什么

Kakfa核心组件

Kafka集群部署实战及常用命令

Kafka配置文件梳理

Kakfa JavaApi学习

Kafka文件存储机制分析

Redis基础及单机环境部署

Redis数据结构及典型案例

Flume快速入门

Flume+Kafka+Storm+Redis整合

四、内存计算体系Spark

1、scala编程

scala编程介绍

scala相关软件安装

scala基础语法

scala方法和函数

scala函数式编程特点

scala数组和集合

scala编程练习(单机版WordCount)

scala面向对象

scala模式匹配

actor编程介绍

option和偏函数

实战:actor的并发WordCount

柯里化

隐式转换

2、AKKA与RPC

Akka并发编程框架

实战:RPC编程实战

3、Spark快速入门

spark介绍

spark环境搭建

RDD简介

RDD的转换和动作

实战:RDD综合练习

RDD高级算子

自定义Partitioner

实战:网站访问次数

广播变量

实战:根据IP计算归属地

自定义排序

利用JDBC RDD实现数据导入导出

WorldCount执行流程详解

4、RDD详解

RDD依赖关系

RDD缓存机制

RDD的Checkpoint检查点机制

Spark任务执行过程分析

RDD的Stage划分

5、Spark-Sql应用

Spark-SQL

Spark结合Hive

DataFrame

实战:Spark-SQL和DataFrame案例

6、SparkStreaming应用实战

Spark-Streaming简介

Spark-Streaming编程

实战:StageFulWordCount

Flume结合Spark Streaming

Kafka结合Spark Streaming

窗口函数

ELK技术栈介绍

ElasticSearch安装和使用

Storm架构分析

Storm编程模型、Tuple源码、并发度分析

Storm WordCount案例及常用Api分析

7、Spark核心源码解析

Spark源码编译

Spark远程debug

Spark任务提交行流程源码分析

Spark通信流程源码分析

SparkContext创建过程源码分析

DriverActor和ClientActor通信过程源码分析

Worker启动Executor过程源码分析

Executor向DriverActor注册过程源码分析

Executor向Driver注册过程源码分析

DAGScheduler和TaskScheduler源码分析

Shuffle过程源码分析

Task执行过程源码分析

五、机器学习算法

1、python及numpy库

机器学习简介

机器学习与python

python语言–快速入门

python语言–数据类型详解

python语言–流程控制语句

python语言–函数使用

python语言–模块和包

phthon语言–面向对象

python机器学习算法库–numpy

机器学习必备数学知识–概率论

2、常用算法实现

knn分类算法–算法原理

knn分类算法–代码实现

knn分类算法–手写字识别案例

lineage回归分类算法–算法原理

lineage回归分类算法–算法实现及demo

朴素贝叶斯分类算法–算法原理

朴素贝叶斯分类算法–算法实现

朴素贝叶斯分类算法–垃圾邮件识别应用案例

kmeans聚类算法–算法原理

kmeans聚类算法–算法实现

kmeans聚类算法–地理位置聚类应用

决策树分类算法–算法原理

决策树分类算法–算法实现

时下的大数据分析时代与人工智能热潮,相信有许多对大数据分析师非常感兴趣、跃跃欲试想着转行的朋友,但面向整个社会,最不缺的其实就是人才,对于是否转行大数据分析行列,对于能否勇敢一次跳出自己的舒适圈,不少人还是踌躇满志啊!毕竟好多决定,一旦做出了就很难再回头了。不过如果你已经转行到大数据分析领域,就不要后悔,做到如何脱颖而出才是关键。因此本文给出一些建议,针对想要转行大数据分析行列且是零基础转行的小伙伴们,希望对你们有所裨益,也希望你们将来学有所成,不后悔,更不灰心!

相关推荐:

《转行大数据分析师后悔了》、《ui设计培训四个月骗局大爆料》、《零基础学大数据分析现实吗》、《大数据分析十八般工具》

发表评论

评论列表

  • 瑰颈蔚落(2022-06-10 11:44:22)回复取消回复

    teReader();while (myreader.Read())flume source 可以进行代码检验吗这上面便是httpsource源码了,可以看到主要是5个类:HTTPBadRequestException,HTTPSource,HT

  • 嘻友听茶(2022-06-10 19:01:35)回复取消回复

    强HDFS的概念和特性HDFS的shell(命令行客户端)操作HDFS的工作机制NAMENODE的工作机制java的api操作案例1:开发shell采集脚本3、MAPREDUCE详解自定义hadoop的RPC框架Mapreduce编程规范及示例编写M

  • 馥妴辞忧(2022-06-10 15:33:03)回复取消回复

    切换管理集群运维测试之数据块的balanceHA下HDFS-API变化hive简介hive架构hive安装部署hvie初使用7、hive增强和flume介绍HQL-DDL基本语法H