mysql nutch_nutch2.2+mysql部署
安装MySQL( 在此不做陈述,MySQL数据库可能是在windows,可能是在linux下,以下配置以linux为例)
配置MySQL默认值(/etc/mysql/my.cnf [mysqld] )
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
#创建数据库(可以基于navicat等可视化管理工具)
CREATE DATABASE nutch DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;
#选择数据库
use nutch;
#创建表:
#注意此处的id长度,官方文档貌似也是767,但是我创建的时候出错了。默认编码格式是utf8mb4占四个字节,767/4 大致是190左右;
#如果是ut8则可设置到255,但是在使用ut8的时候,采集发生了错误。可能是字符集范围的关系吧。
CREATE TABLE `webpage` (
`id` varchar(190) NOT NULL,
`headers` blob,
`text` longtext DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`markers` blob,
`parseStatus` blob,
`modifiedTime` bigint(20) DEFAULT NULL,
`prevModifiedTime` bigint(20) DEFAULT NULL,
`score` float DEFAULT NULL,
`typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
`batchId` 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;
#nutch2.2部署
1.从官网下载压缩包 如果想导入到eclipse中的话建议下载apache-nutch-2.2-src.tar.gz包(先不要编译)
2.修改${APACHE_NUTCH_HOME}/ivy/ivy.xml文件,
将 default”/>
变成default”/>
至于原因,xml文件内有说明。
取消失gora-sql的注释
default” />
取消mysql的注释
default”/>
3.修改${APACHE_NUTCH_HOME}/conf/gora.properties文件
注释掉原来Default SqlStore Properties采用的配置规则;
新增mysql配置项
###############################
# MySQL properties #
###############################
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
gora.sqlstore.jdbc.user=xxxxx
gora.sqlstore.jdbc.password=xxxxx
4.修改${APACHE_NUTCH_HOME}/conf/gora-sql-mapping.xml文件
将primarykey 的length属性修改为 190(原本为512) 和建立的数据库内长度对应
5.修改nutch-site.xml 添加必要配置
http.agent.name
YourNutchSpider
http.accept.language
ja-jp, en-us,en-gb,zh-cn,en;q=0.7,*;q=0.3
Value of the “Accept-Language” request header field.
This allows selecting non-English language as default one to retrieve.
It is a useful setting for search engines build for certain national group.
parser.character.encoding.default
utf-8
The character encoding to fall back to when no other information
is available
storage.data.store.class
org.apache.gora.sql.store.SqlStore
The Gora DataStore class for storing and retrieving data.
Currently the following stores are available: ….
6.使用ant进行编译吧 到此部署结束了,如果你不是第一次使用nutch 那就开始测试吧,nutch2.2仍然支持bin/nutch crawl 命令 2.3就不行啦
(采集页面过大时候,放大http.content.limit属性值,比如京东首页...)
附:测试实例(此处只大致列出命令 不做具体说明了)
cd ${APACHE_NUTCH_HOME}/runtime/local
mkdir -p urls
echo http://nutch.apache.org/ > urls/seed.txt
bin/nutch crawl urls/ -threads 1 -depth 2
好了应该呼呼的跑起来了吧。(注意mysql服务是否开启)
mysql nutch_nutch2.2+mysql部署相关推荐
- rancher安装mysql_四、rancher搭建Mysql集群化部署,做到同步备份
一.Rancher基础镜像查找: 1.基础镜像操作地址:https://hub.docker.com/r/library/mariadb/ 2.选择自己需要的镜像进行搜索,里面有对应版本:也有最新的如 ...
- MySQL单机多实例部署详解之------利用mysqld_multi配置实现
一.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端口(如3306,3307),运行多个mysql服务进程.这些服务进程通过不同的socket监听不 ...
- 项目部署mysql安装_Tomcat7+jdk+mysql安装及项目部署
Tomcat7+jdk+mysql安装及项目部署 1. 下载tomcat7.jdk.mysql apache-tomcat-7.0.42.tar.gz jdk-7u25-linux-i586.gz m ...
- Nutch编译及集成eclipse+mysql开发环境的部署总结
Nutch是一个应用程序,以Lucene为基础实现的搜索引擎应用,Lucene为Nutch 提供了文本搜索和索引的API,Nutch不仅提供搜索,而且还有数据抓取的功能. 1)linux下nutch集 ...
- Docker简介以及mysql和redis的部署
一.Docker简介 1.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置.用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事:操作系统的设置,各种库和组件 ...
- Linux---一台主机部署多版本mysql服务和mysql实例
1.背景 服务器上有mysql5.5.38,要求升级为mysql5.6 2.方法 为了降低影响范围,可持续作业,决定在现有基础上部署mysql5.6,即部署多版本mysql 3.注意事项 1.与现有m ...
- .NET Core+MySql+Nginx 容器化部署
.NET Core容器化@Docker .NET Core容器化之多容器应用部署@Docker-Compose .NET Core+MySql+Nginx 容器化部署 GitHub-Demo:Dock ...
- 阿里云服务器部署SpringBoot项目(mysql安装、服务部署)
最近在阿里云购买了一台轻量级云服务器,开始了自主服务之旅,下面记录步骤以及采坑过程. 首先拿到服务器的第一步我进入了控制台-远程连接中设置了连接密码,然后通过securt客户端工具连接. 1.jdk1 ...
- docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像
为了方便本地测试项目,为了方便开启新的环境,为了方便部署,打算本地利用Docker安装Mysql和Redis. 搭建Springboot项目,编写Dockerfile,打包构建镜像. 简单使用dock ...
- Mysql安装及自动化部署脚本方案
一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...
最新文章
- 推荐8个鲜为人知,但是很有意思的工具,简洁又好用!
- 软件测试(20150819)
- 形态学图像处理学习笔记
- 征战蓝桥 —— 2016年第七届 —— C/C++A组第4题——快速排序
- 兄弟连学python——MongoDB相关
- 谷歌chrome xp_将非Google任务列表添加到Chrome
- 敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的
- PHP使用CURL抓取页面
- Java中静态代码块
- 阿里云服务器定时跑python_通过python调用阿里api定时备份阿里云RDS
- Ext JS 6学习文档-第8章-主题和响应式设计
- 黑客们成功地在土豆上安装了Linux!
- combobox的method是get为什么发的请求是post_深入理解http get和post请求的区别,读完之后,大部分程序员收藏了...
- Android JNI的调用
- 中国城市竞争力历年数据(2005-2009年)
- 王亮:游戏AI探索之旅——从alphago到moba游戏
- 机器学习算法----KNN K邻近 (K值的选择) (学习笔记)
- python鼠标移动的方法_python自动化之鼠标移动
- 读书笔记_005 《董明珠传》
- [译文]优雅的现代JavaScript设计模式: 冰冻工厂
热门文章
- 浅谈C#tabcontrol应用
- 华为网络计算机ct2000,2019-02-22 华为U2000 ESN查询及License加载
- 中望cad自定义快捷键命令_[cad常用快捷键命令大全]中望cad常用快捷键及命令
- fastdfs 原理与过程
- ubnt ER-4添加PON stick模块替换光猫实战
- oracle awr 定期,Oracle 每天自动生成AWR报告
- PMP课程笔记:第8章 项目质量管理
- eclipse导入android项目
- 关于计算机信息管理的照片,2021年10月山东计算机科学与技术(原计算机信息管理)专业自考报名需上传电子照片...
- 51单片机继电器控制直流电机正反转