Windows7環境下MyEclipse+Nutch2.2.1+Mysql搭建

來源:互聯網
上載者:User

標籤:des   blog   http   java   os   io   檔案   for   

一、環境準備

首先肯定是配置開發環境,這裡暫時不作詳細描述。

需要的環境有jdk1.7,MyEclipse,SVN,ant,以及MyEclipse下的兩個外掛程式subclipse 和IvyDe,http://subclipse.tigris.org/update_1.8.x和http://www.apache.org/dist/ant/ivyde/updatesite。

二、從svn檢出項目

接著再Next到下一步

 

Finish完成匯入。

 

三、  修改ivy目錄下的ivysetting.xml地址http://mirrors.ibiblio.org/maven2/(這個地址訪問是正常的,其餘的地址我嘗試訪問不了)

 

四、  修改ivy目錄下的ivy.xml(增加mysql訪問依賴java包)

修改gora-core版本為0.2.1,並解除注釋gora-sql和mysql-connector-java

 

五、  Cd 到目錄執行Ant eclipse(直接在Eclipse下ant build貌似有問題)

 

六、  回到Eclipse工程,重新整理項目,會發現目錄結構已經發生變化

 

七、  看到還有一個錯誤,是編碼的問題,工程右鍵Properties -> Resource ->utf-8

 

八、  工程右鍵Build Path->Config Build Path->Order and Export下選中Conf 檔案夾置頂

 

 

九、  修改Conf檔案夾下gora.properties配置mysql

 

#Default MySQL properties        ################################gora.datastore.default=org.apache.gora.sql.store.SqlStoregora.datastore.autocreateschema=truegora.sqlstore.jdbc.driver=com.mysql.jdbc.Drivergora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNullgora.sqlstore.jdbc.user=rootgora.sqlstore.jdbc.password=123456

 

十、工程目錄下建立檔案夾urls,urls目錄下建立一個檔案url,裡面輸入要爬取的root_url,比如http://www.qq.com

十一、配置conf目錄下nutch-site.xml

 

<property>  <name>http.agent.name</name>  <value>YourNutchSpider</value> </property>  <property>  <name>http.accept.language</name>  <value>ja-jp, en-us,en-gb,en,zh-cn,zh-tw;q=0.7,*;q=0.3</value>  <description>Value of the “Accept-Language” request header field.  This allows selecting non-English language as default one to retrieve.  It is a useful setting for search engines build for certain national group.</description> </property>   <property>  <name>parser.character.encoding.default</name>  <value>utf-8</value>  <description>The character encoding to fall back to when no other information  is available</description> </property>   <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>
</pre><pre name="code" class="html"><!-- 為解決utf-8類中的null 指標問題 --><property><span></span><name>generate.batch.id</name><span></span><value>*</value></property>   <property>  <name>storage.data.store.class</name>  <value>org.apache.gora.sql.store.SqlStore</value>  <description>The Gora DataStore class for storing and retrieving data.  Currently the following stores are available: ….</description> </property>



 

十二、 配置完上述步驟後配置命令運行Run Configuration選擇org.apache.nutch.crawl.Crawler,參數設定urls -depth 3 -topN 5和-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

這時運行會遇到錯誤Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator606301699\.staging to 0700

十三、上述錯誤一般只是windows下才會遇到的,所以我們一般的做法是找到Hadoop-core-1.2.0源碼中的org.apache.hadoop.fs下的FileUtil.java修改其中的CheckReturnValue方法,注釋掉其中的內容

 

 private static void checkReturnValue(boolean rv, File p,                                        FsPermission permission                                       ) throws IOException {//    if (!rv) {//      throw new IOException("Failed to set permissions of path: " + p + //                            " to " + //                            String.format("%04o", permission.toShort()));//    }  }


 然後編譯成java包替換我們工程build/lib下的hadoop-core-1.2.0.jar。

 

另外一種方法是找到FileUtil.java編譯過後的class檔案,替換掉jar包中相應的class檔案FileUtil.clas和FileUtil$CygPathCommand.clas(用壓縮軟體開啟就行)

附上已修改編譯後的檔案http://files.cnblogs.com/e-life/hadoop-core-1.2.0.rar

十四、接下來再運行就沒有問題

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.