• 关于Nutch命令在Eclipse中运行的方法


    在Eclipse中运行,需要添加运行参数,运行参数的方法稍微和shell中有不同,可以看代码中关于处理参数的部分,这样能更改的配置参数

    此外,一定要添加虚拟参数(-Xms64m -Xmx512m),不然会出现Job Failed的错误

    原文地址:http://www.linuxso.com/linuxpeixun/14931.html

    参考地址:http://blog.sina.com.cn/s/blog_468674a0010004nu.html 

    1. Crawl
    Crawl是“org.apache.nutch.crawl.Crawl”的别称,它是一个完整的爬取和索引过程命令。
    使用方法:
    Shell代码
    bin/nutch crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN]

    bin/nutch crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN]
    参数说明:
    <urlDir>:包括URL列表的文本文件,它是一个已存在的文件夹。
    [-dir <d>]:Nutch保存爬取记录的工作目录,默认情况下值为:./crawl-[date],其中[date]为当前目期。
    [-threads <n>]:Fetcher线程数,覆盖默认配置文件中的fetcher.threads.fetch值(默认为10)。
    [-depth <i>]:Nutch爬虫迭代的深度,默认值为5。
    [-topN <num>]:限制每一次迭代中的前N条记录,默认值为 Integer.MAX_VALUE。

    配置文件: (http://www.my400800.cn
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    crawl-tool.xml

    其他文件:
    crawl-urlfilter.txt

    2. Readdb
    Readdb命令是“org.apache.nutch.crawl.CrawlDbReader”的别称,返回或者导出Crawl数据库(crawldb)中的信息。
    使用方法:
    Shell代码
    bin/nutch rseaddb <crawldb> (-stats | -dump <out_dir> | -url <url>)

    bin/nutch rseaddb <crawldb> (-stats | -dump <out_dir> | -url <url>)
    参数说明:
    <crawldb>:crawldb目录.
    [-stats]::在控制台打印所有的统计信息
    [-dump <out_dir>]:导出crawldb信息到指定文件夹中的文件
    [-url <url>]:打印指定URL的统计信息
    实例:
    Shell代码
    $ bin/nutch readdb fullindex/crawldb -stats

    $ bin/nutch readdb fullindex/crawldb -stats

    CrawlDb statistics start: fullindex/crawldb
    Statistics for CrawlDb: fullindex/crawldb
    TOTAL urls: 468030
    retry 0: 467361
    retry 1: 622
    retry 2: 32
    retry 3: 15
    min score: 0.0
    avg score: 0.0034686408
    max score: 61.401
    status 1 (db_unfetched): 312748
    status 2 (db_fetched): 80671
    status 3 (db_gone): 69927
    status 4 (db_redir_temp): 1497
    status 5 (db_redir_perm): 3187
    CrawlDb statistics: done
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    说明:
    -stats命令是一个快速查看爬取信息的很有用的工作,其输出信息表示了:
    DB_unfetched:链接到已爬取页面但还没有被爬取的页面数(原因是它们没有通过url过滤器的过滤,或者包括在了TopN之外被Nutch丢弃)
    DB_gone:表示发生了404错误或者其他一些臆测的错误,这种状态阻止了对其以后的爬取工作。
    DB_fetched表示已爬取和索引的页面,如果其值为0,那肯定出错了。

    3. readlinkdb
    它是"org.apache.nutch.crawl.LinkDbReader"的别称,导出链接库中信息或者返回其中一个URL信息。
    使用方法:
    Shell代码
    Bin/nutch readlinkdb <linkdb> (-dump <out_dir> | -url <url>)

    Bin/nutch readlinkdb <linkdb> (-dump <out_dir> | -url <url>)
    参数说明:
    <linkdb>:linkdb工作目录
    [-dump <out_dir>]:导出信息到文件夹下
    [-url <url>]:打印某个URL的统计信息
    实例:
    Shell代码
    $ bin/nutch readlinkdb fullindex/linkdb -url www.ccnu.edu.cn - no link information

    $ bin/nutch readlinkdb fullindex/linkdb -url www.ccnu.edu.cn - no link information
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    4. inject
    它是"org.apache.nutch.crawl.Injector"的别称,注入新URL到crawldb中。
    使用方法:
    Shell代码
    bin/nutch injector <crawldb> <urldir>

    bin/nutch injector <crawldb> <urldir>
    参数说明:
    <crawldb>:crawldb文件夹
    <urldir>:保存有URL的文件的文件夹目录
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    以下配置文件参数影响到了注入方式:
    db.default.fetch.interval——按天设置爬取间隔,默认值30.0f
    db.score.injected——设置URL的默认打分,默认值1.0f
    urlnormalizer.class——规范化URL的类,默认值为 org.apache.nutch.net.BasicUrlNormalizer

    5. generate
    它是“org.apache.nutch.crawl.Generator”,从Crawldb中抓取新的Segment。
    使用方法:
    Shell代码
    bin/nutch generator <crawldb> <segments_dir> [-topN <num>] [-numFetchers <fetchers>] [-adddays <days>]

    bin/nutch generator <crawldb> <segments_dir> [-topN <num>] [-numFetchers <fetchers>] [-adddays <days>]
    参数说明:
    <crawldb>:crawldb目录
    <segments_dir>:新建的爬取Segment目录
    [-topN <num>]:选取前多少个链接,默认值为Long.MAX_VALUE
    [-numFetchers <fetchers>]:抓取分区数量。 Default: Configuration key -> mapred.map.tasks -> 1
    [-adddays <days>]: 添加 <days>到当前时间,配置crawling urls ,以将很快被爬取db.default.fetch.interval默认值为0。爬取结束时间在当前时间以前的。
    示例:
    Shell代码
    bin/nutch generate /my/crawldb /my/segments -topN 100 -adddays 20

    bin/nutch generate /my/crawldb /my/segments -topN 100 -adddays 20
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    说明:
    generate.max.per.host – 设置单个主机最大的URL数量,默认情况下:unlimited。

    6. fetch
    它是“org.apache.nutch.fetcher.Fetcher”的代称,它负责一个segment的爬取。
    使用方法:
    Shell代码
    bin/nutch fetcher <segment> [-threads <n>] [-noParsing]

    bin/nutch fetcher <segment> [-threads <n>] [-noParsing]
    参数说明:
    <segment>:segment目录
    [-threads <n>]:运行的fetcher线程数默认值为 Configuration Key -> fetcher.threads.fetch -> 10
    [-noParsing]:禁用自动解析segment数据
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    说明:
    Fetcher依赖于多个插件以爬取不同的协议,目前已有的协议及支撑插件如下:
    http:
    protocol-http
    protocol-httpclient
    https:
    protocol-httpclient
    ftp:
    protocol-ftp
    file:
    protocol-file
    当爬取网上文档的时候,不应该使用protocol-file,因为它是用于爬取本地文件的。如果你想爬取http、https,应当使用protocol-httpclient。
    7. parse
    它是“org.apache.nutch.parse.ParseSegment”的代称,它对一个segment运行ParseSegment。
    使用方法:
    Shell代码
    bin/nutch parse <segment>

    bin/nutch parse <segment>
    参数说明:
    <segment>:Segment文件夹
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    说明:
    它依赖于多个插件来解析不同格式的内容,支持的格式及插件有:
    内容格式 插件 备注
    text/html parse-html 使用NekoHTML 或者TagSoup解析HTML
    application/x-javascript parse-js 解析JavaScript 文档(.js).
    audio/mpeg parse-mp3 解析MP3 Audio文档(.mp3).
    application/vnd.ms-excel parse-msexcel 解析MSExcel文档 (.xls).
    application/vnd.ms-powerpoint parse-mspowerpoint 解析MSPower!Point 文档
    application/msword parse-msword 解析MSWord文档
    application/rss+xml parse-rss 解析RSS文档(.rss)
    application/rtf parse-rtf 解析RTF文档(.rtf)
    application/pdf parse-pdf 解析PDF文档
    application/x-shockwave-flash parse-swf 解析Flash 文档 (.swf)
    text-plain parse-text 解析Text文档(.txt)
    application/zip parse-zip 解析Zip文档(.zip)
    other types parse-ext 通过基于content-type或者路径前缀的外部命令来解析文档
    默认情况下只有txt、HTML、JS格式的插件可用,其他的需要在nutch-site.xml中配置使用。
    8 . segread
    "segread" 是"org.apache.nutch.segment.SegmentReader"的代称,它读取并导出Segment数据。
    使用方法:
    Shell代码
    bin/nutch segread <segment>

    bin/nutch segread <segment>
    参数说明:
    <segment>:Segment文件夹
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    说明:
    在Nutch0.9后的版本中改为了readseg
    9 . updatedb
    它是“org.apache.nutch.crawl.CrawlDb”的代称,用fetch过程中获取的信息更新crawldb。
    使用方法:
    Shell代码
    bin/nutch updatedb <crawldb> <segment> [-noadditions]

    bin/nutch updatedb <crawldb> <segment> [-noadditions]
    参数说明:
    <crawldb>:crawldb目录
    <segment>:已经爬取的segment目录
    [-noadditions]:是否添加新的链接到crawldb中
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    10. invertlinks
    它是“org.apache.nutch.crawl.LinkDb”的代称,它用从segment中获取到的信息更新linkdb。
    使用方法:
    Shell代码
    bin/nutch invertlinks <linkdb> (-dir segmentsDir | segment1 segment2 ...)

    bin/nutch invertlinks <linkdb> (-dir segmentsDir | segment1 segment2 ...)

    参数说明:
    <linkdb>: linkdb目录
    <segment>: segment目录,可以指定至少一个的文件夹

    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    11. index
    它是“org.apache.nutch.indexer.Indexer”的代称,创建一个segment的索引,利用crawldb和linkdb中的数据对索引中的页面打分。
    使用方法:
    Shell代码
    bin/nutch index <index> <crawldb> <linkdb> <segment> ...

    bin/nutch index <index> <crawldb> <linkdb> <segment> ...
    参数说明:
    <index>: 索引创建后的保存目录
    <crawldb>: crawldb目录
    <linkdb>: linkdb目录
    <segment>: segment目录,可以指定多个
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    12. merge
    Merge是“org.apache.nutch.indexer.IndexMerger”的代称,它合并多个segment索引。
    使用方法:
    bin/nutch merge [-workingdir <workingdir>] <outputIndex> <indexesDir> ...

    参数说明:
    [-workingdir <workingdir>]:提定工作目录
    <outputIndex>:合并后的索引存储目录
    <indexesDir>:包含待合并的索引目录,可以指定多个

    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    13. mergedb
    它是“org.apache.nutch.crawl.CrawlDbMerger”的代称,合并多个CrawlDb,URLFilter可选择性地过滤指定内容。
    可以合并多个DB到一个中。当你分别运行爬虫并希望最终合并DB时,它会相当有用。可选择地,可以运行当前URLFilter过滤数据库中的URL,以滤去不需要的URL。当只有一个DB时也很有用,它意味着你可以通过这个工作去滤掉那些DB中你不想要的URL。
    只用这个工具来过滤也是可能的,在这种情况下,只指定一个crawldb。
    如果同一个URL包括在多个CrawlDb中,只有最近版本的才会被保留,即由org.apache.nutch.crawl.CrawlDatum.getFetchTime()值决定的。然而,所有版本的元数据被聚合起来,新的值代替先前的值。
    使用方法:
    bin/nutch merge output_crawldb crawldb1 [crawldb2 crawldb3 ...] [-filter]
    参数说明:
    output_crawldb:CrawlDb输出文件夹
    crawldb1 [crawldb2 crawldb3 ...]:一个或者多个CrawlDb(s).
    -filter:采用的URLFilters
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    14. mergelinkdb
    它是“org.apache.nutch.crawl.LinkDbMerger”的代称,用于合并多个linkdb,可以选择性的使用URLFilter来过滤指定内容。
    当分别从多个segment群中分布式建立LinkDb而又需要合并为一个时很有用。或者,也可以指定单个LinkDb,只是用它来过滤URL。
    只用这个工具来过滤也是可能的,在这种情况下,只指定一个LinkDb。
    如果一个URL包含在多个LinkDb中,所有的内部链接被聚合,但是最多db.max.inlinks 指定的内链数会添加进来。 如果被激活,URLFilter可以应用到所有的目标URL及其内链中。如果目标链接被禁止,所有的该目标链接的内链将和目标链接一起被移去。如果某些内 链被禁止,那么只有他们会被移去,在校验上面提到的最大限制数时他们不会被计算在内。
    使用方法:
    bin/nutch mergelinkdb output_linkdb linkdb1 [linkdb2 linkdb3 ...] [-filter]
    参数说明:
    output_linkdb:输出linkdb
    linkdb1 [linkdb2 linkdb3 ...]: 多于一个的输入LinkDb(s)
    -filter: Actual URLFilters to be applied on urls and links in LinkDb(s).
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    15. mergesegs
    它是“org.apache.nutch.segment.SegmentMerger”的代称,用于合并多个segment,可以选择性地输出到一个或者多个固定大小的segment中。
    使用方法:
    Shell代码
    bin/nutch mergesegs output_dir (-dir segments | seg1 seg2 ...) [-filter] [-slice NNNN]

    bin/nutch mergesegs output_dir (-dir segments | seg1 seg2 ...) [-filter] [-slice NNNN]

    参数说明:
    output_dir:结果segment的名称或者segment片的父目录
    -dir segments:父目录,包括多个segment
    seg1 seg2 ...:segment目录列表
    -filter:通过URLFilters过滤
    -slice NNNN: 创建多个输出segment,每一个中包括了NNNN个URL。

    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    16. dedup
    “dedup”是“org.apache.nutch.indexer.DeleteDuplicates”的alias.html' target='_blank'>别名,它segment indexes中去掉重复的页面。
    使用方法:
    Shell代码
    bin/nutch dedup <indexes> ...

    bin/nutch dedup <indexes> ...
    参数说明:
    <indexes>:indexes索引文件
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml
    17. plugin
    它是“org.apache.nutch.plugin.PluginRepository”的代称,用于从插件库中加载一个插件并执行其主方法。
    使用方法:
    Shell代码
    bin/nutch plugin <pluginId> <className> [args ...]

    bin/nutch plugin <pluginId> <className> [args ...]参数说明:
    <pluginId>:期望执行的插件ID
    <className>:包含主方法的类名
    [args]:传入插件的参数
    配置文件:
    hadoop-default.xml
    hadoop-site.xml
    nutch-default.xml
    nutch-site.xml

    http://www.linuxso.com/linuxpeixun/14931.html

  • 相关阅读:
    Spark基本架构及原理
    深度剖析Spark分布式执行原理
    Spark的集群管理器
    基于Redis的开源分布式服务Codis
    RabbitMQ 概念
    分布式事务实现
    优酷 视频上传服务
    深入解析Java中volatile关键字的作用
    mysql in查询 结果乱序 引发的思考
    不安装oracle客户端,用plsql连接oracle
  • 原文地址:https://www.cnblogs.com/zhongwh/p/2389123.html
Copyright © 2020-2023  润新知