2017-05-29 6 views
1

Apache NutchとApache Solrをセットアップしようとしています。私たちのサイトで内部サイト検索ができるようにしています。私は私のガイドに従ってきましたが、非常に便利ですが、エラーが発生した場合には何ができないのか、そしてほとんどの場合、この時点で時代遅れと思われます。CentrでSolrを使ってNutchを設定する

私はJDK 131、Nutchの2.3.1、およびSolrの6.5.1

これはなしrootユーザからの私の行動のシーケンスを使用してい

sudo wget [java url] to /opt 
sudo tar xvf java.tar.gz 
export JAVA_HOME=/opt/java/ 
export JAVA_JRE=/opt/java/jre 
export PATH=$PATH:/opt/java/bin:/opt/java/jre/bin 
cd solr6.5.1/ 
sudo start runtime -e cloud -noprompt 

sudo wget [solr url] to /root 
sudo tar xvf solr.tar.gz 


sudo wget [nutch url] to /opt 
sudo tar xvf nutch.tar.gz 
cd /opt/apache-nutch-2.3.1 
sudo vi nutch-site.xml 

追加:

<configuration> 
<property> 
    <name>http.agent.name</name> 
    <value>nutch-solr-integration</value> 
</property> 

<property> 
    <name>generate.max.per.host</name> 
    <value>100</value> 
</property> 

<property> 
    <name>plugin.includes</name> 
    <value>protocol-http|urlfilter-regex|parse-(html|tika|metatags)|index-(basic|anchor|metadata)|query-(basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|indexer-solr|urlnormalizer-(pass|regex|basic)</value> 
    <description> At the very least, I needed to add the parse-html, urlfilter-regex, and the indexer-solr. 
    </description> 
</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.</description> 
</property> 
</configuration> 

cd /opt/apache-nutch-2.3.1 
mkdir urls 
cd urls 
sudo vi seed.txt 
    add [our site url] 
[ESC] 
:w 
:q 
cd ../conf 
sudo vi regex-urlfilter.xml 
add: 
+^http://([a-zA-Z0-9]*\.)*[domain of our site].com/ 
[ESC] 
:w 
:q 
cd .. 
sudo ant runtime 
sudo -E runtime/local/bin/nutch inject urls -crawlId 3 

それから私はこれを取得:

InjectorJob: Injecting urlDir: urls 
InjectorJob: java.lang.ClassNotFoundException: org.apache.gora.sql.store.SqlStore 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at org.apache.nutch.storage.StorageUtils.getDataStoreClass(StorageUtils.java:93) 
    at org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:77) 
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:218) 
    at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:252) 
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:275) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 
    at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:284) 

私の質問は、どのように私はこのエラーが発生しているのか、どのように解決するのかです。私は多くの場所でschema.xmlのsolrディレクトリを変更することができましたが、どこでもsolrディレクトリにschema.xmlファイルはありません。

答えて

0

Nutchバックエンドとしてsql-storeを使用しているので、ivy/ivy.xmlを編集してこの行のコメントを外しましたか?

<dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default" /> 

もしそうでない場合は、この行のコメントを外して&ビルドをもう一度クリーニングしてください。まだ動作していない場合は、完全なアプローチまたはそれに従ったチュートリアルを教えてください。

編集

あなたはストアとしてのHBaseを使用している、言ったように、あなたのNutch-site.xmlのプロパティは、このことになっている -

<property> 
    <name>storage.data.store.class</name> 
    <value>org.apache.gora.hbase.store.HBaseStore</value> 
</property> 

あなたは慎重に言及したリンクをたどってください。

+0

URLを挿入すると解決しました。今度は生成コードにエラーがあります ** sudo -Eランタイム/ローカル/ bin/nutch生成-topN 10 ** GeneratorJob:2017-05-30から開始11:33:08 GeneratorJob:ベストを選択フェッチするためのスコアリングURL。 GeneratorJob: GeneratorJobを開始:フィルタリング:真 GeneratorJob:正規化:真 GeneratorJob:上位N:10スレッドで 例外 "メイン" java.lang.NoClassDefFoundErrorが:ORG/apacheの/ Hadoopの/ HBaseの/ HBaseConfiguration –

+0

あなたはとしてのHBaseを使用していますデータストア? –

+0

私はそう信じています。私はそれをインストールし、これらの指示に従ってください[リンク](https://anil.io/blog/apache/nutch/apache-nutch-2-3-hbase-0-94-14-and-solr-5-2-1チュートリアル/) –

関連する問題