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文章还真不容易搞。感谢前辈们的分享

  • 相关阅读:
    Hadoop面试
    Node.js面试题
    Node.js面试题
    [转载]最好的关系,是我懂你的不容易
    据说练就了一指禅神功的觅闻实时手机新闻网,正以每天2000+IP的用户量递增。有智能手机的可以当场进行体验,没有的就算了哈
    刚6瓶啤酒4两56度白酒下肚,居然20分钟做了一手机版网站 !
    Android:刚6瓶啤酒4两56度白酒下肚,居然20分钟做了一手机版网站 !
    IT人生的价值和意义 感觉真的有了
    (Android+IOS)正在做一个新闻App,做的差不多了,听听大家的建议 (图)
    (Android 即时通讯) [悬赏],无论是谁发现一个漏洞奖励人民币1000元!
  • 原文地址:https://www.cnblogs.com/flex_fly/p/3895358.html
Copyright © 2011-2022 走看看