zoukankan      html  css  js  c++  java
  • nutch安装配置

    http://nlp.solutions.asia/?p=180

    http://www.promenade.me/archives/146

    环境 ubuntu 12.04

    sql建表

    CREATE DATABASE nutch DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;

    and enter followed by

    use nutch;

    and enter and then copy and paste the following altogether:

    CREATE TABLE `webpage` (
    `id` varchar(767) NOT NULL,
    `headers` blob,
    `text` mediumtext DEFAULT NULL,
    `status` int(11) DEFAULT NULL,
    `markers` blob,
    `parseStatus` blob,
    `modifiedTime` bigint(20) DEFAULT NULL,
    `score` float DEFAULT NULL,
    `typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
    `baseUrl` varchar(767) DEFAULT NULL,
    `content` longblob,
    `title` varchar(2048) DEFAULT NULL,
    `reprUrl` varchar(767) DEFAULT NULL,
    `fetchInterval` int(11) DEFAULT NULL,
    `prevFetchTime` bigint(20) DEFAULT NULL,
    `inlinks` mediumblob,
    `prevSignature` blob,
    `outlinks` mediumblob,
    `fetchTime` bigint(20) DEFAULT NULL,
    `retriesSinceFetch` int(11) DEFAULT NULL,
    `protocolStatus` blob,
    `signature` blob,
    `metadata` blob,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB
    ROW_FORMAT=COMPRESSED
    DEFAULT CHARSET=utf8mb4;

    主要问题是

    1 sql建表会出现字段长度太长,

    解决办法:

    编辑my.cnf,在mysqld下面加入下面的配置

    [mysqld] add

    innodb_file_format=barracuda
    innodb_file_per_table=true
    innodb_large_prefix=true
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    max_allowed_packet=500M

    2 生成batchId时的java错误

          编辑    {$nutch_dir}src/java/org/apache/nutch/crawl/GeneratorReducer.java,然后看其100行左右

         batchId的生成方式,改一下换成Rondom随机生一个

    ----------------------------------------------------------------

    batchId = new Utf8(conf.get(GeneratorJob.BATCH_ID));

    //改为

    int randomSeed = Math.abs(new Random().nextInt());
    String batchIdStr = (System.currentTimeMillis() / 1000) + "-" + randomSeed;
    batchId = new Utf8( batchIdStr );

    //别忘了在最上面加上
    import java.util.Random;

    ---------------------------------

    3  gora-core的问题,在  ${nutch_dir}ivy/ivy.xml中找到name="gora-core" rev="0.3"  把0.3  替换成 0.2.1

    然后进入${nutch_dir}下,命令行下输入: ant runtime

    等编译完成后,进入${nutch_dir}runtime/local, 命令行下输入:bin/nutch crawl urls -depth 3 -topN 5 

    如果有错误,看log/hadoop.log报什么错误,作相应的修改

    4 wegpage表中的batchId 这个字段不存在的问题,这个在wegpage表中的新增一个 batchId  varchar(767) 就行了。

    终于搞定了,可以采集了,省下的功能再研究

                    折腾2个小时,没有前辈们的blog文章还真不容易搞。感谢前辈们的分享

  • 相关阅读:
    WebGL学习笔记(一)
    svn和ftp的不同应用场合
    Java 开源博客 Solo 1.8.0 发布
    【C解毒】滥用变量
    【C解毒】答非所问
    【C解毒】错题无解
    【C解毒】怎样写main()函数
    程序员约架事件中,薛非到底是因为不会用Github还是不会写Tokenizer而没有应战?
    『一些同学学不好C语言,把罪责归于「因为教材是谭浩强写的」实在是很滑稽』吗?
    挂羊头卖狗肉蓄意欺骗读者——谭浩强《C程序设计(第四版)》中所谓的“按照C99”(二)
  • 原文地址:https://www.cnblogs.com/flex_fly/p/3895358.html
Copyright © 2011-2022 走看看