《Nutch+Hbase - 数据库服务器.docx》由会员分享,可在线阅读,更多相关《Nutch+Hbase - 数据库服务器.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Nutch+Hbase-数据库服务器-最新IT资讯_电脑知识大全_网络安全教程-次元立方网本文主要讲解内容包括:ant及ivy的搭建、Nutch+Hbase搭建1、ant及ivy的搭建1-1ant下载地址:/ant.apache.org/bindownload.cgi1-2环境变量配置,修改linux/etc/profile文件内容,添加如下:exportANT_HOME=/usr/antexportPATH=$ANT_HOME/bin:$PATH1-3下载ivybuild.xml:/ant.apache.org/ivy/history/latest-milestone/samples/bui
2、ld.xml1-4在下载的途径下执行ant命令,成功后在ant的安装途径下新增ivy文件夹,并将ivy下的ivy.jar拷贝到ANT_HOME/lib目录下2、Nutch+Hbase搭建2-1Nutch下载途径:/nutch.apache.org/downloads.,选择对应的版本,本文选用apache-nutch-2.3.1-src.tar.gz2-2修改conf/nutch-site.xml,内容如下:configurationpropertyname.agent.name/namevaluehbase_nutch/value/propertypropertynamestorage.da
3、ta.store.class/namevalueorg.apache.gora.hbase.store.HBaseStore/valuedescriptionDefaultclassforstoringdata/description/propertypropertynameplugin.includes/namevalueprotocol-client|urlfilter-regex|parse-(|tika)|index-(basic|anchor)|indexer-solr|scoring-opic|urlnormalizer-(pass|regex|basic)/value/prope
4、rty/configuration2-3conf/regex-urlfilter.txt,用来过滤抓取网站的URL规则,读者能够根据个人需求进行定制。2-4修改ivy/ivy.xml,主要用来设置所依靠的版本,改动有如下:添加Hbase支持,这里需要注意,由于版本兼容问题,这里使用0.98.13版本,笔者测试Hbase1.2版本,出现错误。dependencyorg=org.apache.hbasename=hbase-clientrev=0.98.13-hadoop2conf=*-default/dependencyorg=org.apache.hbasename=hbase-commonr
5、ev=0.98.13-hadoop2conf=*-default/dependencyorg=org.apache.hbasename=hbase-protocolrev=0.98.13-hadoop2conf=*-default/dependencyorg=org.apache.goraname=gora-hbaserev=0.6.1conf=*-default/其他的jar文件读者能够根据需要进行删除或者更改。2-5拷贝hbase集群配置文件,cp$HBASE_HOME/conf/hbase-site.xml$NUTCH_HOME/conf/2-6修改conf/gora.propertie
6、s,添加如下配置gora.datastore.default=org.apache.gora.hbase.store.HBaseStore2-7配置抓取链接,在conf目录下创立urls目录,用来保存抓取链接,然后初始化种子文件seed.txt,内容添加如下::/2-8进行编译,创立抓取程序,nutch根目录下执行antruntime,结果如下:第一次时间比拟长,需要下载jar包等等。2-9抓取内容,在runtime/local/bin下执行如下命令:./crawl/usr/apache-nutch-2.3.1/conf/urls/numberOfRounds10crawl命令的参数解释如下:
7、Usage:crawlseedDircrawlIDsolrUrlnumberOfRoundsseedDir:放置种子文件的目录crawlID:抓取任务的IDsolrURL:用于索引及搜索的solr地址numberOfRounds:迭代次数,即抓取深度2-10查看hbase监控页面网址为::/lenovo1:16010/master-status,获取到表名称为numberOfRounds_webpage,通过Spark代码读取如下:/pleaseensureHBASE_CONF_DIRisonclasspathofsparkdriver/e.g:setitthroughspark.driver
8、.extraClassPathproperty/inspark-defaults.conforthrough-driver-class-path/commandlineoptionofspark-submitvalconf=HBaseConfiguration.create()valargs=ArrayString(numberOfRounds_webpage)/Otheroptionsforconfiguringscanbehaviorareavailable.Moreinformationavailableat/:/hbase.apache.org/apidocs/org/apache/h
9、adoop/hbase/mapreduce/TableInputFormat.conf.set(TableInputFormat.INPUT_TABLE,args(0)/InitializehBasetableifnecessaryvaladmin=newHBaseAdmin(conf)if(!admin.isTableAvailable(args(0)println(不存在该表)return/sc.stop()valpool=newHTablePool(conf,1000)valtable=pool.getTable(args(0)tryvalrs:ResultScanner=table.g
10、etScanner(newScan()varr=rs.next()while(r!=null)System.out.println(获得到rowkey:+newString(r.getRow)for(keyValue-r.raw()System.out.println(+newString(keyValue.getFamily()+,+newString(keyValue.getQualifier()+:+newString(keyValue.getValue();r=rs.next()catchcasee=e.printStackTrace()/sc.stop()admin.close()展示结果如下:至此一个简单的示例完成了,读者能够在此基础上添加复杂业务逻辑。