Nutch 是壹個開源Java 實現的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬蟲。現在Nutch分為兩個版本:1.x和2.x,這兩個版本的主要區別在於底層的存儲不同。1.x版本是基於Hadoop架構的,底層存儲使用的是HDFS,而2.x通過使用Apache Gora,使得Nutch可以訪問HBase、Cassandra、MySQL、DataFileAvroStore、AvroStore等等。
[二]、編譯配置
目前官方2.x只提供了源碼下載,不再提供編譯發布版本,需要用戶自己去編譯。
2.1 下載解壓源碼
官方下載: Nutch2.x 源碼 ,目前為止最新版本2.2.1,下載後解壓:
tar zxf apache-nutch-2.2.1-src.tar.gz
2.2 修改 $NUTCH_HOME/conf/nutch-site.xml 在 configuration 節點中增加如下內容:
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<description>Default class for storing data</description>
</property>
2.3 修改 $NUTCH_HOME/ivy/ivy.xml 去掉如下註釋,啟用 gora-hbase:
<!-- Uncomment this to use HBase as Gora backend. -->
<dependency org="org.apache.gora" name="gora-hbase" rev="0.3" conf="*->default" />
2.4 創建 $NUTCH_HOME/conf/gora.properties ,添加如下內容:
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore
2.5 編譯
#cd nutch根目錄
ant runtime
2.6 其他配置
如果編譯過程比較長,建議修改ivy中配置的maven倉庫地址,具體方法:$NUTCH_HOME/ivy/ivysettings.xml 找到如下代碼:
<property name="repo.maven.org"
value="mon script -->
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath path="${ant.library.dir}" />
<classpath path="${mysql.library.dir}" />
<classpath><fileset dir="lib/" includes="sonar*.jar" /></classpath>
</taskdef>