今天该进入主题了

十一、Nutch

首先是下载,原来只有一个版本,当时折腾的时候是1.0,现在突然冒出两个版本,一个1.16,一个2.4,那么到底有什么差别呢?先查查资料看看再说。

现在Nutch分为两个版本:1.x和2.x,这两个版本的主要区别在于底层的存储不同。1.x版本是基于Hadoop架构的,底层存储使用的是HDFS,而2.x通过使用Apache Gora,使得Nutch可以访问HBase、Cassandra、MySQL、DataFileAvroStore、AvroStore等等。从这点上来看,就根据个人的需要来确定了,用什么样的存储方式更方便咱就用什么,现在咱们可以考虑2.X版本的mysql,为啥,因为我就认识这一个,嘿嘿,挺不好意思的哈,其他都脸盲。

既然准备使用MySql,就首先要安装再进行后续的操作。

1、MySql的安装

习惯先检查一下有没有更新,有更新了先更新完再说。

apt update

apt upgrade

检索一下MySql的包包

apt list | grep mysql

简单点操作mysql还是要有个workbench比较好一些哈,先上网站下载deb包准备着。

https://dev.mysql.com/downloads/repo/apt/   直接网站左下角,No thanks,just start my download.就可以下载了。

然后下载workbench

https://dev.mysql.com/downloads/workbench/   选择ubuntu19.10版本,同样左下角点击下载。

开始安装mysql 已经是8.0版本了   245M大小

apt install mysql-server mysql-client

默认安装好之后没有任何密码的设置提示,那好吧,先看看到底有没有密码

mysql  呀,直接进入了,压根没有密码,抓紧时间设置一个,多少有点安全保障啊

ALTER user 'root'@'localhost' IDENTIFIED WITH caching_sha2_password by '你的密码';

现在把workbench安装好,用root登录一下试试,是不是提示了密码了。登录OK

2、Nutch  下载2.x版本的tar包

提取所有文件后,复制到usr目录下备用,然后下载ant并配置环境,为什么前面安装的JDK8,在这里体现出来了,ant的最新版本是1.10.7,就是对应jdk8的版本。1.9版本对应的是JDK1.5

提取文件,将目录复制到usr或者opt目录,看个人习惯,我是放到了opt目录下

配置环境变量   gedit /etc/profile

添加

#SET ANT ENVIRONMENT

export ANT_HOME=/opt/apache-ant-1.10.7-bin

export PATH=${ANT_HOME/bin}:$PATH    #$PATH切记不要忘记了!并且用:英文半角的冒号连接。

保存退出,重启计算机或者source /etc/profile

测试一下ant -version

有了版本号提示,就表示ant配置成功了。

3、配置Nutch支持mysql

gedit ivy/ivy.xml 文件

在<dependencies>段内,excute段前的dependency 段添加。

<!--配置ivy/ivy.xml-->

<!--ivy也是一种包管理工具,和maven差不多,这里就是添加sql的依赖-->

<dependency org="mysql" name="mysql-connector-java" rev="5.1.18" conf="*->default"/>

<dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default" />

<dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"/>这一行修改为下面内容。改版本号。

<dependency org="org.apache.gora" name="gora-core" rev="0.2.1" conf="*->default"/>

<!-- Uncomment this to use SQL as Gora backend. It should be noted that the gora-sql 0.1.1-incubating artifact is NOT compatable with gora-core 0.3. Users should downgrade to gora-core 0.2.1 in order to use SQL as a backend. -->

添加mysql的相关配置

同样是nutch目录下的conf/gora.properties

默认是没有sqlstore段,在最后添加如下代码:

#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=root

gora.sqlstore.jdbc.password=你的mysql密码

还是conf目录下,有一个nutch-default.xml文件,打开,复制所有内容到 nutch-site.xml,这个文件默认情况下是没有配置参数数据的。

十二、Nutch-site.xml详细配置

1、http.agent.name

这个value值默认是空,在编译使用前必须配置value值

<property>

<name>http.agent.name</name>

<value>Linux Nutch Spider</value>

</property>

在下面的<description></description>中有说明,用于控制‘User Agent’的requests header,也就是请求头,MUST NOT be empty !说的很清楚了,没有请求头的蜘蛛在爬取数据时就可能会出错,也就是非response 200!,请求不成功或者被拒绝。

还有一个就是下面紧挨着的http.robots.agents的value值,不需要修改,这个会涉及到很多网站根目录下设置的robots.txt,下面说明的很清晰apart from 'http.agent.name',除了上面的agent.name外的,如果不知道的话,可以留空,默认使用http.agent.name

2、http.agent.version

根据自己需要显示的版本进行设置,也可以不设置。

3、http.accept.language

这个涉及到了语言的问题,请求头可以接受的语言,这里允许使用非英语语言作为默认检索的语言。这里可以在value中添加ja-jp,中文的则需要添加zh-CN,zh

<property>

<name>http.accept.language</name>

<value>ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3</value>

<description>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.

</description>

</property>

4、FTP properties控制爬取ftp,其中的用户名ftp.username和ftp.password,根据自己掌握的内容修改value值

5、<!-- parser properties -->975行左右

这里需要修改的是parser.character.encoding.default,默认的值是<value>windows-1252</value>,修改为<value>utf-8</value>,这个主要用于如果无法返回编码信息的时候默认使用的编码形式。

<property>

<name>parser.character.encoding.default</name>

<value>utf-8</value>

<description>The character encoding to fall back to when no other information

is available</description>

</property>

6、<!-- storage properties -->  1415行左右

storage.data.store.class

这个控制用于存储和检索数据的存储类,下面有明确的举例,我们复制第一个---sql类,替换掉value值。

<property>

<name>storage.data.store.class</name>

<value>org.apache.gora.sql.store.SqlStore</value>

<description>The Gora DataStore class for storing and retrieving data.

Currently the following stores are available: ….

</description>

</property>

7、还有一个额外的添加配置

generate.batch.id   只有有什么特殊的作用,我也不知道,学着做吧。

<property>

<name>generate.batch.id</name>

<value>*</value>

</property>

在</configuration>之前添加

十三、编译Nutch

小插曲来了,忘记下载sonar-ant-task-2.X了,CSDN倒是多的是,2.1,2.2都有,就是要币,没有的就百度一下,可以下载到的哈。

把这个.jar包放到nutch目录下。java2s的网站下载很不稳定,开始还跑,一会儿网速就掉成0。

将下载的sonar-ant-task-2.1.jar文件拷贝到nutch目录下,然后修改目录下的build.xml文件,主要还是涉及ant和sql

找到<!--SONAR targets-->行,在<taskdef></classpath>上面添加一行,内容如下:

<classpath><fileset dir="." includes="sonar*.jar" />

保存文件后,在nutch目录下,执行ant runtime命令,要关注是否出现错误,根据提示进行修改,一般配置正确的话,都会正常执行,直到出现BUILD SUCCESSFUL即完成编译,不要以为是死机了哈。别忘了看看ant的配置是否还有效,如果无法打开ant,那就重启计算机再试一次,让配置生效在做。

忙其他事情,结果第二天停电,我勒个去,runtime和bin目录都没看到,这肯定是失败了啊,今天重新编译。

说两句题外话,本来是想用国产的deepinlinux的,来回的sudo不叫麻烦,想用root直接登录,结果操作了半天都没有办法使用root账号,在社区找了半天,才发现,deeplinux就是不能使用root账户的,那还是算了,用ubuntu吧,关键的一个原因是ubuntu下部署nutch的资料也相对多一些,遇到问题还能搜索一下,参考参考。

Nutch安装第四天,进入正题,Nutch2.4的配置和编译相关推荐

  1. linux安装IPython四种方法

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...

  2. Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)4

    Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)1 Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)2 Cygw ...

  3. Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)3

    前言:作者(守望者MS)在实际搭建并开发Nutch的过程中参阅很多中文资料,但内容并不详尽且有错误,于是在此记录个人实战过程,纠正一些文章错误,以详细的过程展现一次简单的二次开发流程,为初学者降低门槛 ...

  4. Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)2

    前言:作者(守望者MS)在实际搭建并开发Nutch的过程中参阅很多中文资料,但内容并不详尽且有错误,于是在此记录个人实战过程,纠正一些文章错误,以详细的过程展现一次简单的二次开发流程,为初学者降低门槛 ...

  5. Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)1

    前言:作者(守望者MS)在实际搭建并开发Nutch的过程中参阅很多中文资料,但内容并不详尽且有错误,于是在此记录个人实战过程,纠正一些文章错误,以详细的过程展现一次简单的二次开发流程,为初学者降低门槛 ...

  6. 「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四) 上次说了fiddl ...

  7. K8s介绍及离线安装(四)

    K8s介绍及离线安装(四) 离线安装kubernetes 一.资源 百度网盘: 链接: https://pan.baidu.com/s/1mhw5wF5pA1GYPp_aByplOA 提取码: W12 ...

  8. linux-2.6.29内核配置、编译与安装

    Linux内核具有可定制的有点,下面讲述内核的配置和编译步骤 通常拿到一个内核系统源码,你不知道具体别人有没有配置过这个系统或做了哪些系统配置文件的修改,你要将系统还原到最初的默认配置状态,则直接进行 ...

  9. SAP UI5 应用开发教程之五十四 - 如何将本地 SAP UI5 应用配置到本地 Fiori Launchpad 中的试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. sqlalchemy安装以及使用_电子皮带秤的安装使用条件以及对输送机的要求
  2. 洛谷—— P1605 迷宫
  3. pyspark 学习 Tips
  4. 大疆口袋云台 最大存储卡_佳能云台相机专利曝光:可换镜头设计,将与大疆竞争...
  5. 用C#编写的代码经C#编译器后,并非生成本地代码而是生成托管代码
  6. sql md5函数_【学习笔记】常见漏洞:SQL注入的利用与防御
  7. vs里安装了mysql吗_vs2017安装 MySQL for Visual Studio 1.2.
  8. Cannot set property 'value' of undefined
  9. java 判断正负数_Java判断一个字符串为数字(正负、小数)
  10. $.ajax与$.post、$.get的区别
  11. 排序——选择排序、快速排序
  12. USPS手写体数据的处理
  13. 来客推电商快报之教育产业的未来发展
  14. Android可收缩伸展的Expandable分组RecyclerView
  15. thinkpad使用u盘启动
  16. php批量邮件地址,PHP通过phpmailer批量发送邮件功能
  17. 计算机管理格式化硬盘,电脑格式化磁盘的方法步骤图
  18. H5游戏开发-H5游戏引擎与渠道分布
  19. 网络版五子棋程序的开发
  20. verilog将100mhz分频为1hz_verilog—分频器设计

热门文章

  1. AndroidStudio 制作一个超简易记账本App(1.0)【含详细步骤】
  2. python输入esc退出循环_使python在按ESC键时立即退出程序
  3. 关闭msmpeng_你知道吗?把电脑系统里的这些进程关闭掉,可以提升系统流畅
  4. 利用VBA在Excel中批量画图
  5. 微信内测新功能(深度清理),瞬间释放几个G内存!
  6. centos 虚拟机出问题 Oh no,something has gone wrong! 解决方法
  7. thinkphp 启动worker
  8. 神武手游做任务链服务器维护,神武手游跑环攻略 跑环注意事项详解
  9. java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to java.util.List
  10. paste shell 分隔符_Shell paste命令