IT技術互動交流平台

彩神注册官网

來源︰IT165收集  發布(bu)日期︰2020-02-22 05:08:02

本文主(zhu)要講(jiang)解內(na)容包括︰ant及ivy的搭建(jian)、Nutch + Hbase搭建(jian)

1、ant及ivy的搭建(jian)

1-1)ant下載地(di)址http://ant.apache.org/bindownload.cgi

1-2)環(huan)境變量(liang)配置,修改(gai)linux /etc/profile文件內(na)容,添加如下︰

 

export ANT_HOME=/usr/antexport PATH=$ANT_HOME/bin:$PATH

1-3)下載ivy build.xml http://ant.apache.org/ivy/history/latest-milestone/samples/build.xml

 

1-4)在下載的路徑下執行 ant 命令,成功後在ant的安(an)裝路徑下新(xin)增(zeng)ivy文件夾,並將ivy下的ivy.jar拷(kao)貝(bei)到ANT_HOME/lib目錄下

2、Nutch + Hbase搭建(jian)

2-1)Nutch下載路徑http://nutch.apache.org/downloads.html,選(xuan)擇(ze)對應的版本,本文選(xuan)用(yong)apache-nutch-2.3.1-src.tar.gz

2-2)修改(gai)conf/nutch-site.xml,內(na)容如下︰

 

<configuration> <property> <name>http.agent.name</name> <value>hbase_nutch</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> <property> <name>plugin.includes</name> <value>protocol-httpclienturlfilter-regexparse-(htmltika)index-(basicanchor)indexer-solrscoring-opicurlnormalizer-(passregexbasic)</value> </property></configuration>

2-3)conf/regex-urlfilter.txt,用(yong)來過濾抓(zhua)取(qu)網站的URL規則,讀者可(ke)以(yi)根據個人需求(qiu)進行定制。

2-4)修改(gai) ivy/ivy.xml,主(zhu)要用(yong)來設置所依賴的版本,改(gai)動有如下︰

添加Hbase支持,這里需要注意,由于版本兼容問(wen)題,這里使用(yong)0.98.13版本,筆者測試(shi)Hbase1.2版本,出(chu)現錯誤。

 

 <dependency org="org.apache.hbase" name="hbase-client" rev="0.98.13-hadoop2" conf="*->default"/> <dependency org="org.apache.hbase" name="hbase-common" rev="0.98.13-hadoop2" conf="*->default"/> <dependency org="org.apache.hbase" name="hbase-protocol" rev="0.98.13-hadoop2" conf="*->default"/> <dependency org="org.apache.gora" name="gora-hbase" rev="0.6.1" conf="*->default" />
其(qi)他的jar文件讀者可(ke)以(yi)根據需要進行刪除或(huo)者更(geng)改(gai)。

 

2-5)拷(kao)貝(bei)hbase集群配置文件,cp $HBASE_HOME/conf/hbase-site.xml $NUTCH_HOME/conf/

2-6)修改(gai)conf/gora.properties,添加如下配置

 

 gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

2-7)配置抓(zhua)取(qu)鏈接,在conf目錄下創建(jian)urls目錄,用(yong)來保(bao)存抓(zhua)取(qu)鏈接,然後初始化(hua)種(zhong)子(zi)文件seed.txt,內(na)容添加如下︰

 

 

 http://www.csdn.net/
2-8)進行編(bian)譯,創建(jian)抓(zhua)取(qu)程序 ,nutch根目錄下執行ant runtime,結(jie)果如下︰

 

第一次wen)奔jian)比較長,需要下載jar包等等qu)/p>

2-9)抓(zhua)取(qu)內(na)容,在runtime/local/bin下執行如下命令︰

 

 ./crawl /usr/apache-nutch-2.3.1/conf/urls/ numberOfRounds 10
crawl 命令的參wen)饈腿縵攏pre class="brush:java;"> Usage: crawl <seedDir> <crawlID> [<solrUrl>] <numberOfRounds> <seedDir>︰放置種(zhong)子(zi)文件的目錄 <crawlID> ︰抓(zhua)取(qu)任(ren)務的ID <solrURL>︰用(yong)于索引及搜索的solr地(di)址 <numberOfRounds>︰迭代次wen) 醋zhua)取(qu)深度

 

2-10)查看hbase監(jian)控頁面網址為︰http://lenovo1:16010/master-status,獲(huo)取(qu)到 表名(ming)稱(chen)為numberOfRounds_webpage,通過Spark代碼(ma)讀取(qu)如下︰

 

 // please ensure HBASE_CONF_DIR is on classpath of spark driver // e.g: set it through spark.driver.extraClassPath property // in spark-defaults.conf or through --driver-class-path // command line option of spark-submit val conf = HBaseConfiguration.create() val args = Array[String]("numberOfRounds_webpage") // Other options for configuring scan behavior are available. More information available at // http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormat.html conf.set(TableInputFormat.INPUT_TABLE, args(0)) // Initialize hBase table if necessary val admin = new HBaseAdmin(conf) if (!admin.isTableAvailable(args(0))) { println("不(bu)存在該表") return //sc.stop() } val pool = new HTablePool(conf, 1000) val table = pool.getTable(args(0)) try { val rs: ResultScanner = table.getScanner(new Scan()) var r = rs.next() while (r != null) { System.out.println("獲(huo)得到rowkey:" + new String(r.getRow)) for (keyValue <- r.raw()) {  System.out.println("(" + new String(keyValue.getFamily()) + "," + new String(keyValue.getQualifier()) + ")︰" + new String(keyValue.getValue())); } r = rs.next() } } catch { case e => e.printStackTrace() } //sc.stop() admin.close()
展示(shi)結(jie)果如下︰

 

至(zhi)此一個簡單的示(shi)例完成了,讀者可(ke)以(yi)在此基(ji)礎(chu)上添加復雜業務邏輯。

彩神注册官网

    Tag標簽︰Nutch+Hbase  
    • 彩神注册官网

    About IT165 - 廣告(gao)服務 - 隱私(si)聲明 - 版權申明 - 免責(ze)條款 - 網站地(di)圖 - 網友(you)投稿 - 聯系方式
    本站內(na)容來自(zi)于互聯網,僅供用(yong)于網絡技術學習,學習中請(qing)遵循相關法(fa)律法(fa)規
    彩神注册官网 | 下一页