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

  • 相关阅读:
    Django基础
    PostMan打不开怎么解决
    Beyond Compare 4.x(含4.3.3)专业版独家破解(附激活密钥以及注册机,全网独家可用)
    详细安装教程(视频版)
    经典排序算法及总结(python实现)
    Django开发常用方法及面试题
    C:UsersKellyAppDataRoaming pm-cache\_logs2019-03-24T08_17_24_284Z-debug.log
    vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境、跨域问题
    970.强整数
    9_11 bootstarp使用
  • 原文地址:https://www.cnblogs.com/flex_fly/p/3895358.html
Copyright © 2011-2022 走看看