2012-12-24 40 views
6

मैं खिड़कियों वातावरण लेकिन हर बार मैं इस साइट Nutch Tuorial Apache में दी गई प्रक्रिया मैं हमेशा निम्न अपवादों के साथ अंत के अनुसार चलाने की कोशिश से Nutch 1.6 उपयोग करने के लिए कोशिश कर रहा हूँ:Windows में Nutch का उपयोग करते हुए 7

Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ajayn\mapred\staging\ajayn-1231695575\.staging to 0700 

मैं नेट पर बड़े पैमाने पर खोज कर रहा हूं लेकिन कोई ठोस समाधान नहीं है। कृपया ध्यान दें कि मेरे पास सिस्टम में स्थापित या चलने वाले कोई हैडऑप इंस्टेंस नहीं हैं और मेरा एकमात्र उद्देश्य वेब क्रॉलिंग एजेंट के रूप में नच को आज़माएं।

क्या विंडोज़ में नच 1.6 चलाने के लिए भी संभव है और यदि हाँ कोई संकेतक है कि इसके बारे में कैसे जाना है और उपर्युक्त अपवाद से बचें।

पीएस: यदि यह मदद करता है, तो/tmp/फ़ोल्डर में केवल पढ़ने के लिए एक विशेषता है और यह तब भी नहीं बदलता है जब आप ऐसा करने का प्रयास करते हैं। सिगविन से भी मैंने फ़ाइल अनुमतियों को 777 सेट करने का प्रयास किया है, लेकिन हर बार जब मैं नच इंस्टेंस चलाने की कोशिश करता हूं, तो एक नया फ़ोल्डर उदाहरण: "अजयन -1231695575" बनाया गया है जिसमें कोई निष्पादन अधिकार नहीं है।

धन्यवाद

अजय

उत्तर

0

हम था Nutch 1.3 तक, हम और विकास के लिए आभासी बॉक्स एक साझा निर्देशिका के साथ एक ubuntu वीएम वातावरण का उपयोग करना चाहिये ताकि आप खिड़कियों पर अपने आईडीई के साथ विकसित करने और तैनात कर सकते हैं में एक ही मुद्दों लिनक्स पर अपने वीएम और नच चलाने के लिए।

1

क्या आपने 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.jard:\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 केवल उन साइटों है जिसमें आप रुचि रखते हैं शामिल हैं। अन्यथा आप अपनी डिस्क पर "इंटरनेट" के साथ समाप्त हो जाएगा।