nutch分布式構築

5605 ワード


一、インストールファイルをダウンロードする
 
1、現在の最新バージョンnutch-1.0をダウンロードします。http://lucene.apache.org/nutch
2、ダウンロードtomcat 6.0:http://tomcat.apache.org
3、ダウンロードした二つの圧縮ファイルを解凍して/home/javaに行く。
 
二、プロファイル
 
1、conf/hadoop-site.xmlを修正する(プロファイルは前のhadoop-0.0.2と違って、ここのバージョンは0.9.1では先進的ではない)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
<name>fs.default.name</name>
<value>hdfs://home0.hadoop:9000</value>
</property>

<property>
<name>mapred.job.tracker</name>
<value>home0.hadoop:9001</value>
</property>

<property>
<name>dfs.name.dir</name>
<value>/home/lighttpd/hadoopfs/name_0,/home/lighttpd/hadoopfs/name_1</val ue>
<description>Determines where on the local filesystem the DFS name node
should store the name table. If this is a comma-delimited list of directories
then the name table is replicated in all of the directories,
for redundancy.
</description>
</property>

<property>
<name>dfs.data.dir</name>
<value>/home/lighttpd/hadoopfs/data_0,/home/lighttpd/hadoopfs/data_1</val ue>
<description>
Determines where on the local filesystem an DFS data node
should store its blocks. If this is a comma-delimited list of dir ectories,
then data will be stored in all named directories, typically on d ifferent devices.
Directories that do not exist are ignored.
</description>
</property>


</configuration>
 2、JAVA_を修正するHOME変数指向
    このファイルの中でhadoop-env.shは修正しました。前の配置はもう話しました。
 
4、マスタノードを設定する    conf/mastersファイルを修正し、その中のlocal hostをhome 0.hadoopに変更します。
    conf/slaavesファイルを修正します。その中のlocal hostを削除して、私達の別の2台の機械のhome 1.hadoop、home 2.hadoopを参加して、すべての機械の1行に注意します。
    マスターの中はホストノードで、slaavesの中はスレーブノードです。
 
5、同じ配置を他の2台のマシンにコピーする
scp -r nutch1.0 home1.hadoop:/home/yourname/
 注意:機械ごとにJAVAの設置位置が違っているかもしれません。conf/hadoop-env.shを修正して、export JAVA_を設置してください。HOME=正しい経路
 
三、hadoopサービスを開始する
 
1、新しい分散ファイルシステムをフォーマットする
bin/hadoop namenode -format
 2、hadoopプロセスを起動する
$ bin/start-all.sh
 
四、索引の作成
 
1、入り口をキャプチャする設定
    nutch 1.0ディレクトリの下に新しいフォルダを作成します。urls、このフォルダの下にファイルを作成します。urllist.txt、このファイルにスナップリストを書き込みます。
http://lucene.apache.org
   分散ファイルシステムに書き込み
bin/hadoop fs -put urls urls
 
2、URLフィルタルールの設定
    conf/crawl-urlfilter.txtを編集します。
# accept hosts in MY.DOMAIN.NAME
#+^http://([a-z0-9]*/.)*MY.DOMAIN.NAME/
+^http://([a-z0-9]*/.)*apache.org
 
3、スナップコマンドを実行する
 
bin/nutch crawl urls -dir crawledDir -depth 3 -threads 10
 
五、検索環境
 
1、上記の索引の後のファイルを地元にコピーすると、速度が良くなります。分散システムにおいても、ドキュメントを参照してください。
bin/hadoop fs -copyToLocal crawledDir  /home/yourname/nutch-1.0/crawledData
 
2、nuth-1.0.warファイルをtomcat下のwebappsディレクトリにコピーして、tomcat解凍ファイルを起動して、サービスをクローズします。
$ cp nutch-1.0.war /home/yourname/java/apache-tomcat-6.0.18/
$ cd /home/lighttpd/java/apache-tomcat-6.0.18/
$ bin/startup.sh
:http://locahost:8080/nutch-1.0
$ bin/shutdown.sh
 
3、修正/WEB-INF/clases/nutch-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<!-- /home/lighttpd/nutch-1.0/conf/search-dir/sina.com.cn -->
<configuration>

<property>
<name>searcher.dir</name>
<value>/home/yourname/nutch-1.0/crawledDir</value>
</property>

</configuration>
4、中国語対応、server.xmlの Connectorに属性を追加します。
URIEncoding="UTF-8" 
useBodyEncodingForURI="true"
 
5、tomcatを起動する
$ cd  /home/lighttpd/java/apache-tomcat-6.0.18/
$ bin/startup.sh
 
6、ブラウザ入力:http://locahost:8080/nutch-1.0検索してみます
 
六、注意:
 
1、ここで検索した索引ファイルは地元のファイルにコピーするか、分布式索引ファイルを構築することができます。
2、インデックスファイルを構築して、異なるマシンで検索する時に、各インデックスファイルから統合して検索結果を検索することもできます。
3、eclipse工程における対応配置ファイルは、すべて設定を行うと、分散システムで動作します。もしマシンからプログラムをデバッグしたいなら、現地の運行方式を採用して、hadoop-site.xmlファイルを移動したり、改名したりします。