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

    今天该进入主题了

十一、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 文件

        在段内,excute段前的dependency 段添加。

        

        

        default"/>

        default" />

        default"/>这一行修改为下面内容。改版本号。

        default"/>

        

 

        添加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值

        

            http.agent.name

            Linux Nutch Spider

        

        在下面的中有说明,用于控制‘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

        

            http.accept.language

            ja-jp, en-us,en-gb,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.

            

        

 

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

 

    5、975行左右

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

        

            parser.character.encoding.default

            utf-8

            The character encoding to fall back to when no other information

            is available

        

 

    6、  1415行左右

        storage.data.store.class

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

        

            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: ….

            

        

 

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

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

 

        

            generate.batch.id

            *

        

        在之前添加

 

十三、编译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

    找到行,在上面添加一行,内容如下:

        

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

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

     

 

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





 

你可能感兴趣的:(常用日志)