设为首页 收藏本站
查看: 1278|回复: 0

[经验分享] hadoop使用(四)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-11 10:41:53 | 显示全部楼层 |阅读模式
  做一个网络爬虫的程序吧,根据客户的需求,要求把相关的内容爬取到本地
  最终选择的是apache nutch,到目前为止最新的版本是1.3
1. Nutch是什么?
  Nutch是一个开源的网页抓取工具,主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一套工具。其底层使用了Hadoop来做分布式计算与存储,索引使用了Solr分布式索引框架来做,Solr是一个开源的全文索引框架,从Nutch 1.3开始,其集成了这个索引架构
2. 在哪里要可以下载到最新的Nutch?
  在下面地址中可以下载到最新的Nutch 1.3二进制包和源代码
  http://mirror.bjtu.edu.cn/apache//nutch/
3. 如何配置Nutch?
  3.1 对下载后的压缩包进行解压,然后cd $HOME/nutch-1.3/runtime/local
  3.2 配置bin/nutch这个文件的权限,使用chmod +x bin/nutch
  3.3 配置JAVA_HOME,使用export JAVA_HOME=$PATH
4. 抓取前要做什么准备工作?
  4.1 配置http.agent.name这个属性,在conf目录下
  
      http.agent.name  
    My Nutch Spider  
  

http.agent.nameMy Nutch Spider
4.2 建立一个地址目录,mkdir -p urls
  在这个目录中建立一个url文件,写上一些url,如
http://www.apache.org
http://nutch.apache.org/
4.3 然后运行如下命令
bin/nutch crawl urls -dir mydir -depth 3 -topN 5  
bin/nutch crawl urls -dir crawl -depth 3 -topN 5
  注意,这里是不带索引的,如果要对抓取的数据建立索引,运行如下命令
  -dir                       选项设置抓取结果存放目录
  -depth                 选项设置爬取的深度
  -threads             选项设置并行爬取的线程数
  -topN                  选项设置每个深度爬取的最大页数
  最后就可以查看mydir中的结果了
DSC0000.png
  一个典型的爬虫主要有如下阶段

  • URL库初始化然后开始爬取。
  • 爬虫读取没有访问过的URL,来确定它的工作范围。
  • 获取URL的内容
  • 解析内容,获取URL以及所需的数据。
  • 存储有价值的数据。
  • 规范化新抓取的URL。
  • 过滤掉不需要爬去的URL。
  • 把要抓取的URL更新到URL库中。

  • 重复步骤2,直到抓取的网页深度完毕为止。  附加一张中文图
DSC0001.png
  
  不知道为什么在Nutch-1.3中没了Nutch自带的搜索war文件,而且在Nutch-1.3中,抓取文件后,生成的目录只有crawldb,linkdb,segments
  查了一下官网Wiki,上面是把Nutch的索引映射到solr,用solr来提供搜索功能,详见官网Wiki说明:http://wiki.apache.org/nutch/RunningNutchAndSolr
  对比这两个,搜索同一关键字,发现Nutch搜索的展示结果有重复,而solr没有重复,还有solr可以在conf/schema.xml配置字段属 性,nutch好像改了这个配置文件,也没起效果,比如,我想让索引中存储content和termvector,可是搜索结果,并没有存储
  下面安装并且配置solr
  从官方下载
  http://www.apache.org/dyn/closer.cgi/lucene/solr/
  下载完成后解压缩
  到solr的example目录下,运行
  java -jar start.jar
  运行成功如图
DSC0002.png
  打开浏览器
  http://localhost:8983/solr/
  进入solradmin出现如下界面,运行成功
DSC0003.png
  
  

hadoop使用:

  • hadoop使用(一)
  • hadoop使用(二)
  • hadoop使用(三)
  • hadoop使用(四)
  • hadoop使用(五)
  • hadoop使用(六)
hbase实战:

  • hbase实战——(1.1  nosql介绍)
  
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85469-1-1.html 上篇帖子: Hadoop学习笔记(3)——分布式环境搭建 下篇帖子: [转]自定义hadoop map/reduce输入文件切割InputFormat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表