這篇文章主要介紹Nutch1.7如何配置到eclipse,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、瓊結(jié)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
進(jìn)入正題:
1、將nutch項(xiàng)目部署到eclipse
首先到nutch官網(wǎng)上找到FAQ鏈接http://wiki.apache.org/nutch/FAQ,進(jìn)入鏈接
點(diǎn)擊第二個(gè)鏈接查看。
參照文檔進(jìn)行配置,有卡殼不明白的地方,繼續(xù)在網(wǎng)上針對(duì)具體問(wèn)題查找資料。集成時(shí)可參照http://blog.csdn.net/witsmakemen/article/details/8866235。
運(yùn)行之前必須有一下先決條件:
A、在windows上安裝配置Apache Ant,http://ant.apache.org/manual/index.html
B、安裝Eclipse,這個(gè)不用說(shuō)肯定是必須的。
C、在Linux安裝svn。目的:遷出nutch2.7源代碼。
D、在Linux下檢出nutch2.7代碼
[root@nutch-five branch-1.7]# svn co http://svn.apache.org/repos/asf/nutch/branches/branch-1.7/
E、在Linux安裝ivy插件。目的,根據(jù)ivy配置文件動(dòng)態(tài)下載jar包。
F、編譯branch2.7
[root@nutch-five branch-1.7]# ant
2、在Linux下執(zhí)行ant命令編譯源代碼:ant</p>
3、編譯成功后,將trunk文件夾復(fù)制到windows中,導(dǎo)入eclipse</span>
A、eclipse : File -- New -- Java Project
B、點(diǎn)擊NEXT
找到 conf 文件夾 ,然后點(diǎn)擊 Add Folder 'conf' to build path
defautl output 設(shè)置為 apache-nutch-1.7/conf
在這兒我因?yàn)椴荒軇?chuàng)建conf,所以寫為conf
點(diǎn)擊Finish
至此,建立成功。
C、此時(shí)會(huì)發(fā)現(xiàn)工程有錯(cuò)誤(紅色的小叉叉),這是因?yàn)槿鄙僖脤?dǎo)致。
以parse-html為例:
import org.cyberneko.html.parsers.*;
這里報(bào)錯(cuò)是因?yàn)槿鄙?nekohtml-0.9.5.jar
如何獲取nekohtml-0.9.5.jar:
找到runtime/local/plugins/lib-nekohtml/nekohtml-jar,單擊右鍵add to build path,其他bug以此類推。
在 這兒一共要的jar包大概有,runtime/local/plugins/lib-nekohtml/nekohtml-jar、runtime /local/plugins/parse-html/tagsoup.jar、runtime/local/plugins/feed /rome.jar(解決了com.sun.syndication.io.SyndFeedInput報(bào)錯(cuò)問(wèn)題)、runtime/local /plugins/urlfilter-automaton/automaton.jar(解決 dk.brics.automaton.RunAutomaton報(bào)錯(cuò)問(wèn)題)
至此整個(gè)工程將應(yīng)該不會(huì)有錯(cuò)了。
4、新建文件夾urls
在文件夾內(nèi)新建文件url,存放待抓取網(wǎng)址
如:http://www.163.com/
5、運(yùn)行程序
6、報(bào)異常:
ERROR security.UserGroupInformation (UserGroupInformation.java:doAs(1193)) - PriviledgedActionException as:hadoop cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-hadoop\mapred\staging\hadoop1071373990\.staging to 0700
解決方案:
下 載hadoop的源代碼,重新編譯hadoop的hadoop-core.jar包,替換掉nutch項(xiàng)目中的hadoop-core.jar的jar 包。(注意:下載時(shí)先確定nutch引用的hadoop的哪個(gè)版本的jar包,然后下載對(duì)應(yīng)版本。在runtime/local/lib中可以找到對(duì)應(yīng) hadoop的jar包。)
下載hadoop源代碼:
下載鏈接:http://apache.dataguru.cn/hadoop/common/hadoop-1.2.1/
1、注釋掉build.xml中的
<target name="create-native-configure">
<exec executable="autoreconf" dir="${native.src.dir}" searchpath="yes" failonerror="yes"> <arg value="-if"/>
</exec>
</target>
2、去掉compile-core-native中的create-native-configure依賴
<target name="compile-core-native" depends="create-native-configure,compile-core-classes"
if="compile.native">
3、修改hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java 691行,把throw new IOException改為L(zhǎng)OG.warn
4、用ant編譯項(xiàng)目,編譯成功后從build文件夾中取出hadoop-core.jar文件夾,放入nutch項(xiàng)目中,替換項(xiàng)目中原有hadoop-core.jar,放入build/lib文件夾下。再通過(guò)buildpath添加jar包。
添加完畢后,運(yùn)行測(cè)試
7、繼續(xù)運(yùn)行,繼續(xù)報(bào)錯(cuò)
java.lang.RuntimeException: Error in configuring object
解決方案:
將nutch-default.xml中的
<property>
<name>plugin.folders</name>
<value>./src/plugin</value>
<description>Directories where nutch plugins are located. Each
element may be a relative or absolute path. If absolute, it is used
as is. If relative, it is searched for on the classpath.</description>
</property>
紅色處改一下就可以了。
參照上邊的運(yùn)行方法,繼續(xù)運(yùn)行測(cè)試,產(chǎn)生異常:
java.net.SocketException: Software caused connection abort: recv failed
解決方案:
鏈接不成功,可以忽略,對(duì)程序沒(méi)有影響。
至此,nutch在eclipse中集成成功。
相關(guān)異常:
ERROR security.UserGroupInformation (UserGroupInformation.java:doAs(1193)) - PriviledgedActionException as:hadoop cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-hadoop\mapred\staging\hadoop1071373990\.staging to 0700
解決方案:
重新編譯hadoop的hadoop-core.jar包,替換掉nutch項(xiàng)目中的hadoop的jar包
1、注釋掉build.xml中的
<target name="create-native-configure">
<exec executable="autoreconf" dir="${native.src.dir}" searchpath="yes" failonerror="yes"> <arg value="-if"/>
</exec>
</target>
2、去掉compile-core-native中的create-native-configure依賴
<target name="compile-core-native" depends="create-native-configure,compile-core-classes"
if="compile.native">
3、修改hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java 691行,把throw new IOException改為L(zhǎng)OG.warn
4、用ant編譯項(xiàng)目,編譯成功后從build文件夾中取出hadoop-core.jar文件夾,放入nutch項(xiàng)目中,替換項(xiàng)目中原有hadoop-core.jar,放入build/lib文件夾下。再通過(guò)buildpath添加jar包。
添加完畢后,運(yùn)行測(cè)試
源碼環(huán)境搭建時(shí)發(fā)現(xiàn)sun.net.util.ipaddressutil的包沒(méi)有
sun.net 包里的類,在eclipse里默認(rèn)是不讓用的。解決辦法是自定義access rules工程上右鍵->工程屬性->java builder path->Libraries標(biāo)簽,點(diǎn)擊JRE System Library里面的Access rules,add sun/** 為accessible,如果該項(xiàng)存在,就edit。
以上是“Nutch1.7如何配置到eclipse”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標(biāo)題:Nutch1.7如何配置到eclipse
網(wǎng)頁(yè)網(wǎng)址:http://m.newbst.com/article34/gpigse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、做網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、ChatGPT、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)