zoukankan      html  css  js  c++  java
  • Nutch1.6在Hadoop环境下的安装配置

    1.下载Nutch-1.6-src.tar.gz  http://www.linuxtourist.com/apache/nutch/1.6/

     将Nutch-1.6-src.tar.gz复制到usr/目录下  

       sudo cp /home/franklin/Documents/apache-nutch-1.6-src.tar.gz /usr/

     并解压

       sudo tar -zxf apache-nutch-1.6-src.tar.gz

     改变apache-nutch-1.6的权限

       sudo chown hadoop:hadoop apache-nutch-1.6

    2.使用ant对nutch进行编译

      ant的安装:

        下载 ant-1.9.0 http://ant.apache.org/bindownload.cgi

        将apache-ant-1.9.0-bin.tar.gz复制到usr下

          sudo cp /home/franklin/Documents/apache-ant-1.9.0-bin.tar.gz /usr/

        解压之

          sudo tar -zxf apache-ant-1.9.0-bin.tar.gz

        配置ant的环境变量

          sudo gedit /etc/profile

           加入如下内容

            export ANT_HOME=/usr/apache-ant-1.9.0

            在PATH后添加

             :$ANT_HOME/bin

        验证ant是否配置成功

          ant -version

          出现如下提示即配置成功

            

      使用ant对nutch进行编译

        进入apache-nutch-1.6.0目录下,运行ant命令,就会根据build.xml对nutch进行编译(需要等一段时间,因为要通过网络下载)

        

        编译成功 总共花了15分钟 编译完后 会在apache-nutch-1.6.0目录下看到一个runtime目录 进入该目录会发现一个local目录和

        一个deploy目录,一个是本地模式,一个是分布式模式。

    3.本地模式下运行nutch的爬虫进行爬取

       进入runtime/local/conf下配置nutch-site.xml 

        sudo gedit nutch-site.xml

        在configuration中加入如下内容:

           <property>

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

              <value>My Nutch Spider</value>

           </property>

       创建爬虫爬取的Url

         新建urls目录

           sudo mkdir urls

         在urls目录下新建seed.txt

           sudo touch seed.txt

           改变seed.txt的读写权限

            chmod 777 seed.txt

           写入爬取Url

            sudo echo http://nutch.apache.org/ > seed.txt

            

       设置爬取的规则

         进入apache-nutch-1.6.0/runtime/local/conf目录下

          sudo gedit regex-urlfilter.txt

          将这两行内容

          # accept anything else

          +.

          替换为 +^http://([a-z0-9]*\.)*nutch.apache.org/

        运行ant重新编译一下

       开始爬取

         进入apache-nutch-1.6.0/runtime/local  运行 bin/nutch crawl /data/urls/seed.txt -dir crawl -depth 3 -topN 5

          

        爬取的过程中出现错误:

          

          这是由于上一次运行爬取命令生成了一个不完整的segments/20130434113019造成的,到相应目录下将该文件夹删除即可

        爬取完毕:

          

        在输出结果的文件夹中可以看见:crawldb/ linkdb/ segments/

    4.分布式模式下运行nutch爬虫进行爬取

      启动hadoop的所有节点

        bin/start-all.sh

      进入apache-nutch-1.6.0/conf下配置nutch-site.xml 

        sudo gedit nutch-site.xml

        在configuration中加入如下内容:

           <property>

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

              <value>My Nutch Spider</value>

           </property>

      将爬取的url复制到hadoop分布式文件系统中

        

      设置爬取规则:

        进入apache-nutch-1.6.0/conf目录下

          sudo gedit regex-urlfilter.txt

          将这两行内容

          # accept anything else

          +.

          替换为 +^http://([a-z0-9]*\.)*nutch.apache.org/

        运行ant重新编译一下

      

      开始爬取

         进入apache-nutch-1.6.0/runtime/deploy  运行 bin/nutch crawl /data/urls/seed.txt -dir crawl -depth 3 -topN 5

         可以看到爬取任务被提交给hadoop的mapping和reducing

          

        通过50030端口可以看到jobtracker运行的状态

          

        运行完毕:

          

          

          可以看到总共提交了18个任务

        爬取完毕后可以通过50070查看hadoop的分布式文件系统

          

        点击Browse the filesystem:可以看到分布式文件系统下的文件

           

        进入该目录下可以看到爬取输出的内容

           

      至此所有配置测试完毕。

          

      

  • 相关阅读:
    Can't initialize physical volume "/dev/sdb" of volume group "cinder-volumes" without -ff /dev/sdb: physical volume not initialized.
    openstack核心组件--neutron网络服务2(4)
    openstack部署cinder
    [转载]数字证书原理,公钥私钥加密原理
    [转载]签名、加密、证书的基本原理和理解
    [转载]各种加密算法比较
    [转载]对称加密DES和TripleDES
    [转载]oracle的加密和解密
    PLSQL 问题小记
    [转载]Java中的String,StringBuilder,StringBuffer三者的区别
  • 原文地址:https://www.cnblogs.com/sirhuoshan/p/3040158.html
Copyright © 2011-2022 走看看