Nutch2.3 + Hbase 配置到爬行
準備工作:JDK、Hbase、Ant、Nutch
- 安裝JDK(JDK8) 如果你已經安裝JDK跳過此步驟
$:cd /usr/local
$:wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.tar.gz
$:tar zxvf jdk-8u65-linux-x64.tar.gz
$:mv jdk-8u65-linux-x64 jdk8
配置JAVA環境變數
$:vim ~/.bashrc
在bashrc中新增以下變數
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
$:source ~/.bashrc
輸入命令測試是否安裝成功
$:java
$:javac
如果你看到類似以上兩張圖,表示OK了
2 安裝Hbase(Hbase0.94) 如果你已經安裝Hbase跳過此步驟
$:cd /usr/local
$:wget http://archive.apache.org/dist/hbase/hbase-0.94.14/hbase-0.94.14.tar.gz
$:tar zxvf hbase-0.94.14.tar.gz
$:mv hbase-0.94.14.tar.gz hbase
配置Hbase環境變數
$:vim ~/.bashrc
修改bashrc的PATH變數
export $JAVA_HOME/bin:/usr/local/hbase/bin:$PATH
$:source ~/.bashrc
輸入命令測試是否安裝成功
$:hbase -version
如果你看到類似上圖,表示OK了
3 安裝Ant 如果你已經安裝Ant跳過此步驟
$:cd /usr/local
$:wget http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.6-bin.tar.gz
$:tar zxvf apache-ant-1.9.6-bin.tar.gz
$:mv apache-ant-1.9.6-bin.tar.gz ant
配置Ant環境變數
$:vim ~/.bashrc
修改bashrc的PATH變數
export $JAVA_HOME/bin:/usr/local/hbase/bin:/usr/local/ant/bin:$PATH
$:source ~/.bashrc
輸入命令測試是否安裝成功
$:ant -version
如果你看到類似上圖,表示OK了
4 配置Nutch
$:cd /usr/local
$:wget http://124.202.164.16/files/4214000005F0F9BA/mirror.bit.edu.cn/apache/nutch/2.3/apache-nutch-2.3-src.tar.gz
$:tar zxvf apache-nutch-2.3-src.tar.gz
$:mv apache-nutch-2.3-src.tar.gz nutch
$:vim /usr/local/nutch/conf/nutch-site.xml
在nutch-site.xml的configuration標籤里加入以下配置
<property>
<name>http.agent.name</name>
<value>*這裡寫你的爬蟲名字*</value>
</property>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<description>Default class for storing data</description>
</property>
如圖所示
繼續,修改regex-urlfilter.txt檔案
$:vim /usr/local/nutch/conf/regex-urlfilter.txt
如圖所示,註釋掉裡面的一些正則,為了之後抓取資料看到的效果更好,regex-urlfilter.txt用來過濾抓取網站的URL規則,關於regex-urlfilter.txt的正則語法就不作詳細說明,網上一堆,這裡就按照這樣配置就行了.
$:vim /usr/local/nutch/ivy/ivy.xml
找到下面這行,把註釋開啟
org="org.apache.gora" name="gora-hbase" rev="0.4" conf="*->default"/>
如圖所示
$:vim /usr/local/nutch/conf/gora.properties
開啟gora.properties檔案新增以下配置
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore
如圖所示
在seed.txt中新增要抓取的連結 這裡以csdn為例
$:cd /usr/local/nutch/conf/
$:mkdir -p urls
$:cd urls
$:touch seed.txt
$:vim seed.txt
最後開始編譯
$:cd /usr/local/nutch/
編譯runtime
$:ant runtime
編譯完成後
$:cd /usr/local/nutch/runtime/local/bin
抓取
$:./crawl /usr/local/nutch/conf/urls/ numberOfRounds 10
抓取完成後進入hbase shell檢視資料
$:hbase shell
檢視列表
$:list
檢視資料(numberOfRounds_webpage)為表名,以list命令查出的表名為準,這裡就以此表名做例子
$:scan 'numberOfRounds_webpage'
OK,Hbase裡已經能查到抓取的資料了