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中。