flume编译
方法 源码下载 http://www.neoye.com/3446.html apache-flume-1.5.2-src.tar.gz 解压至C盘根目录 建议放到C盘根目录中,测试时我是放到这里,其它目录不保证可以顺利通过,可参考测试。 运行mvn 进入c:\apache-flume-1.5.2目录
❷ 怎么编译spark-streaming-flume
storm是实时处理,spark和hadoop是批处理,两者是互补。在Hadoop2.0之后,hadoop使用了新的yarn框架,map/rece只是其中一种默许了,spark也可以在hadoop的yarn框架下运行的,所以2者还会是融合的。
spark还有与storm相同功能的 Spark Steaming,实时处理流式数据。可以顺着Hadoop -> spark -> spark Steaming一路学下去,storm是否学习,你可以自己选择下。如果有相同功能的spark Steaming,肯定是学习spark Steaming啦。
如果我的回答没帮助到您,请继续追问。
❸ flume jdk1.6编译的jar包能在1.8环境下运行吗
jdk1.4编译jar包可以在jdk1.6下直接运行。class文件(字节码)最后是在jvm上执行的。
❹ apache flume怎样使用
flume-ng-mongodb-sink 需要自己编译jar包,从github上下载代码,解压之后执行mvn package,即可生成。
需要先安装maven用于编译jar包,且机器需要能联网。
❺ 如何编译Flume-NG源码之最新1.5.2版本
方法
源码下载
http://www.neoye.com/3446.html 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>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>${hbase.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-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 (https://repository.cloudera.com/artifactory/cloudera-repos): Co
nnection to https://repository.cloudera.com 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.version>0.15.0</kite.version>将0.12.0修改成0.15.0 B、找到<dependenciesManagement>标签,将下面代码插入到dependency中。
<dependency>
<groupId>org.kitesdk</groupId>
<artifactId>kite-morphlines-all</artifactId>
<version>${kite.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
</exclusion>
</exclusions>
<type>pom</type>
<optional>true</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>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${java_HOME}/lib/tools.jar</systemPath>
</dependency>
至于jdk的版本和系统路径根据实际的开发环境的环境变量而定,其他都没问题。
❻ flume 在配置source 访问netcat 的时候,java怎么创建socket发送数据给netcat接收
etcat-0.7.1.tar.gz 然后当然是解压了 tar zxvf netcat-0.7.1.tar.gz 解压完毕之后会生成目录,要cd进去 cd netcat-0.7.1 然后进行编译前的配置。 ./configure 配置完了之后就可以make编译了。 编译成功就生成了netcat可执行的文件了
❼ 如何编译Zookeeper源码
riak华师大的吧--下面来简单介绍各个组件的作用:HDFS(Hadoopdistributefilesystem)——Hadoop生态系统的基础组件Hadoop分布式文件系统。它是其他一些工具的基础HDFS的机制是将大量数据分布到计算机集群上,数据一次写入,但可以多次读取用于分析。HDFS让Hadoop可以最大化利用磁盘。HBase——一个构建在HDFS之上的面向列的NoSql数据库,HBase用于对打量数据进行快速读取/写入。HBase将Zookeeper用于自身的管理,以保证其所有组件都正在运行。HBase使得Hadoop可以最大化利用内存。MapRece——MapRece是Hadoop的主要执行框架,它是一个用于分布式并行数据处理的编程模型,将作业分为mapping阶段和rece阶段。开发人员谓Hadoop编写MapRece作业,并使用HDFS中存储的数据,而HDFS可以保证快速的数据访问。鉴于MapRece作业的特性,Hadoop以并行的方式将处理过程移向数据。MapRece使得Hadoop可以最大化利用CPU。Zookeeper——Zookeeper是Hadoop的分布式协调服务。Zookeeper被设计成可以在机器集群上运行,是一个具有高度可用性的服务,用于Hadoop操作的管理,而且很多Hadoop组件都依赖它。Oozie——Oozie是一个北极测很难过到Hadoop软件栈中的可扩展的Workflow系统。用于协调多个MapRece作业的执行。它能够处理大量的复杂性,基于外部事件来管理执行。Pig——Pig是对MapRece编程复杂性的抽象,Pig平台包含用于分析Hadoop数据集的执行环境和脚本语言(PigLatin)。它的编译器将PigLatin翻译为MapRece程序序列。Hive——类似于SQL的高级语言,用于执行对存储在Hadoop中数据的查询,Hive允许不熟悉MapRece的开发人员编写数据查询语句,它会将翻译为Hadoop中的MapRece作业。类似于Pig。Hive是一个抽象层,适合于较熟悉SQL而不是java编程的数据库分析师。Hadoop生态系统中还包含一些用于与其他企业级应用进行集成的框架,例如上图所示的Sqoop和Flume:Sqoop是一个连通性工具,用于在关系型数据库和数据仓库Hadoop之间移动数据。Sqoop利用数据库来描述导入/导出数据的模式,并使用MapRece实现并行操作和容错。Fulme是一个分布式的、具有可靠性和高可用性的服务,用于从单独的机器上将大量数据高效的收集、聚合并移动到HDFS中。它给予一个简单灵活的架构,童工流式数据操所。它借助于简单可扩展的数据模型,允许将来自企业中多台机器上的数据移到Hadoop中。