zoukankan      html  css  js  c++  java
  • Nutch 学习笔记1、2:(学习资源来自杨尚川老师视频及教案)

     

    第一讲

    1、通过nutch,诞生了hadooptikagora

    2nutch通过ivy来进行依赖管理(1.2之后)。

    3nutch是使用svn进行源代码管理的。

    4lucenenutchhadoop,在搜索界相当有名。

    5ant构建之后,生成runtime文件夹,该文件夹下面有deploylocal文件夹,分别代表了nutch的两种运行方式(分布式和本地模式)。

    6nutchhadoop是通过什么连接起来的?通过nutch脚本。通过hadoop命令把apache-nutch-1.6.job提交给hadoopJobTracker

    7nutch入门重点在于分析nutch脚本文件。

     

     

    第二讲

    1git来作为分布式版本控制工具,github作为serverbitbucket.org提供免费的私有库。

    2nutch的提高在于研读nutch-default.xml文件中的每一个配置项的实际含义(需要结合源代码理解)。

    3、定制开发nutch的入门方法是研读build.xml文件。

    4、命令:

    1、有的系统因为刚安装没有svn, 可以先用apt-get update对其本地库进行更新

    2、apt-get install subversion  安装svn

    3、svn co https://svn.apache.org/repos/asf/nutch/tags/release-1.6/

    因为nutch的源码是通过svn进行管理的,所以这里可以直接使用svn客户端工具对其进行下载

    4、cd release-1.6

    apt-get install ant 安装ant,ant是以一个build.xml为配置

    ant (ant使用时候,必须切换到release1.6目录下,即有build.xml的目录下)

     

    第一次ant会很慢,因为要下在很多需要的包,执行过ant以后,会出现一个runtime的包

     

    5、cd runtime/local 

    mkdir urls

    vi urls/url.txt 并输入http://blog.tianya.cn (首次注入的url)

    6、nohup bin/nutch crawl urls -dir data -depth 3 -threads 100 &

    上条语句是视频中所有的语句,为了能够看到运行的情况,使用一下语句即可(nohup表示将输出信息输入到nohup文件下,&表示使用后台运行模式)

    为了能够看到抓去的信息,我采用了以下语句:

    bin/nutch crawl urls -dir data -depth 2 -threads 20 | tee logx

    crawl为抓去命令

    urls为注入的url地址的保存文件

    -dir data 表示把数据保存到data文件夹下

    -depth 表示抓去深度

    -threads 表示线程数

    | 表示管道

    tee  表示在终端输出的同时将其保存到tee文件夹下

    运行结果:

    logx中:

     终端:

    log/hadoop.log

     

    通常查看日志可以从这三个角度去看,而因为java编译产生的问题只能从终端看到,这个问题则是agents没有设置的问题,agent在conf下的nutch-site.xml

    7、设置agent

    在local下的conf,有nutch-default.xml和nutch-site.xml,其中后者将直接被nutch读取。前者可以看作是默认的模版

    vi release-1.6/conf/nutch-site.xml 增加http.agent.name配置

     

    修改后的nutch-site.xml 如下:

     

    修改好以后需要重新用ant编译

    cd ../../release-1.6

    ant

    cd runtime/local

    bin/nutch crawl urls -dir data -depth 2 -threads 20 | tee logx

    生成一个错误,因为之前的一个错误的执行,导致了一个文件路径找不到,只要删除data即可

     删除报错的文件夹

    bin/nutch crawl urls -dir data -depth 2 -threads 20 | tee logx

    日志简读

    Injector:注入url

    Generator:生成抓取列表

    Fetcher:抓取网页

    PareseSegment:解析网页

    CrawlDb:更新抓去列表

    以上便是Nutch的一个执行周期,需要注意的似乎Injector只有在第一次执行的时候需要从urls注入,其他步骤后来成为一个循环

  • 相关阅读:
    Web相关工具
    web服务器之ApacheCookie 和 session
    web服务器之Apache语法与使用
    Java高并发3-中断线程以及isInterrupted与interrupted区别
    从零开始学VUE之Vue CLI(Cli 2.x 初始化项目)
    从零开始学VUE之Vue CLI(全局安装cli-init)
    从零开始学VUE之Vue CLI(全局安装 CLI)
    从零开始学VUE之淘宝镜像Cnpm安装
    IDEA 过期时间 试用时间 重置插件
    ElementUI el-checkbox 点击Label不取消复选框的选中状态
  • 原文地址:https://www.cnblogs.com/Joy06/p/3336305.html
Copyright © 2011-2022 走看看