क्या आपने GettingNutchRunningWithWindows from the Nutch Wiki को आजमाया था?
मेरे छात्रों में से कुछ एक बहुत प्रयोग किया और यहां उनके काम का परिणाम है:
Nutch 1.7 साथ परीक्षण किया गया - तुम भी cygwin की आवश्यकता होगी http://www.apache.org/dyn/closer.cgi/nutch/1.7/apache-nutch-1.7-bin.zip
।
1) रिक्त स्थान के बिना नच निकालें। उदाहरण के लिए:
d:\dev\ir\nutch-1.7
2) बिना किसी स्थान के जेडीके को किसी स्थान पर कॉपी करें। मैंने इसके बजाय साइगविन के अंदर एक सिम्लिंक बनाने का प्रयास किया, लेकिन यह ठीक नहीं हुआ। उदाहरण
xcopy /S "C:\Program Files\Java\jdk1.7.0_21" c:\jdk1.7.0_21
3) cygwin सेटअप में जावा
3,1) export JAVA_HOME=/cygdrive/c/jdk1.7.0_21
3,2) के लिए पथ के लिए export PATH=$JAVA_HOME/bin:$PATH
3,3) की जाँच करें कि सभी जो जावा फोन करके सही है। /cygdrive/c/jdk1.7.0_21/bin/java
SO FAR - गलत जावा पथों के साथ पहली समस्या को ठीक करना चाहिए। अब दूसरी समस्या - हडूप पैचिंग।
4) पैच Hadoop
https://issues.apache.org/jira/browse/HADOOP-7682
https://github.com/congainc/patch-hadoop_7682-1.0.x-win
संक्षेप में: - - d:\dev\ir\nutch-1.7\lib
में patch-hadoop_7682-1.0.x-win.jar
डाल निम्न को जोड़कर d:\dev\ir\nutch-1.7\conf\nutch-site.xml
संपादित:
<property>
<name>fs.file.impl</name>
<value>com.conga.services.hadoop.patch.HADOOP_7682.WinLocalFileSystem</value>
<description>Enables patch for issue HADOOP-7682 on Windows</description>
</property>
5) Hadoop अस्थायी निर्देशिका - मैं कर रहा हूँ सुनिश्चित नहीं है कि यह आवश्यक है (इसे लागू करने से पहले प्रयास करें), क्योंकि मैंने इसे पैच लगाने से पहले जोड़ा था, लेकिन मेरेमें 10 मैं
<property>
<name>hadoop.tmp.dir</name>
<value>C:\tmp\asd</value>
</property>
6) Hadoop संस्करण मैं यकीन है कि अगर यह आवश्यक है (लागू करने से पहले की कोशिश), मैं Hadoop डाउनग्रेड Hadoop कोर-0.20.205.0.jarbefore को मैं पैच पाया नहीं हूँ और यह अभी भी मेरे सेटअप पर रहता है। आप इस आवश्यक पाते हैं कि यहाँ है: http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/0.20.205.0
6,1) बैकअप
6,2) के लिए d:\dev\ir\nutch-1.7\lib
से hadoop-core-1.2.1.jar
ले जाएँ कुछ स्थान के लिए डाउनलोड hadoop-core-0.20.205.0.jar
d:\dev\ir\nutch-1.7\lib
7 के लिए) कुछ रेंगने अनुकूलन। यदि आपको कई साइटों को क्रॉल करने की आवश्यकता है, तो यूआरएल की एक बड़ी सूची, और बड़ी गहराई और शीर्ष एन के साथ क्रॉलिंग शुरू न करें। यदि आप करते हैं, तो आप देखेंगे कि नच एक ही समय में एक ही साइट से लिंक को एक साथ लाता है, जो fetches के बीच 5 सेकंड का इंतजार कर रहा है। कारण यह है कि गहराई 30 और टॉपएन 200 संभवतः उसी साइट से लिंक के साथ पहली fetch कतार भरेंगी। नच उन्हें एक बार में लाने की कोशिश नहीं करेगा, क्योंकि डिफ़ॉल्ट रूप से यह कॉन्फ़िगर किया गया है कि एक ही साइट से कई धागे में नहीं लाया जाए। तो आप प्रतीक्षा करने के लिए बर्बाद कर रहे हैं। बहुत।
7.1) इसे हल करने के लिए, पहले छोटी गहराई और शीर्ष एन के साथ कई क्रॉल चलाएं - उदा।
bin/nutch crawl urls -dir crawl -depth 3 -topN 4
यह एक से अधिक साइट
7.2 से यूआरएल के साथ उत्पन्न लाने कतार भरना होगा) तो फिर तुम
bin/nutch crawl urls -dir crawl -depth 20 -topN 150
7,3 के साथ एक बड़ी रात की क्रॉल कोशिश कर सकते हैं।) कुछ के लिए अनुमति देने के लिए बहु-थ्रेडिंग आपके nutch-site.xml
पर निम्नलिखित जोड़ें। यह एक ही मेजबान से एक ही समय में कई धागे लाने की अनुमति देगा।
नोट! उनका उपयोग करने से पहले इंटरनेट में गुणों का अर्थ पढ़ें।
<property>
<name>fetcher.threads.fetch</name>
<value>16</value>
</property>
<property>
<name>fetcher.threads.per.queue</name>
<value>4</value>
</property>
<property>
<property>
<name>fetcher.queue.mode</name>
<value>byDomain</value>
</property>
<name>fetcher.threads.per.host</name>
<value>8</value>
<description></description>
</property>
<property>
<name>fetcher.verbose</name>
<value>true</value>
</property>
<property>
<name>fetcher.server.min.delay</name>
<value>5.0</value>
<description>applicable ONLY if fetcher.threads.per.host is greater than 1 (i.e. the host blocking is turned off).</description>
</property>
</configuration>
नोट: जब आप बहुत-सी साइट्स क्रॉल, सुनिश्चित करें कि आपके D:\Dev\id\apache-nutch-1.7\conf\regex-urlfilter.txt
केवल उन साइटों है जिसमें आप रुचि रखते हैं शामिल हैं। अन्यथा आप अपनी डिस्क पर "इंटरनेट" के साथ समाप्त हो जाएगा।