设为首页 收藏本站
查看: 1393|回复: 0

hadoop1.0.1+hbase0.94.14+nutch2.3爬虫

[复制链接]

尚未签到

发表于 2015-11-11 10:51:53 | 显示全部楼层 |阅读模式
hadoop1.0.1+hbase0.94.14+nutch2.3爬虫(伪分布式)
          根据nutch官网最新的nutch版本选择nutch2.3,官网推荐的hadoop和hbase的版本分别是1.0.1或2.4.0和0.94.14。(注意:选择顺序应该是nutch-hbase-hadoop,而这些低版本的只支持32位Linux系统。)

所需工具:centos-6.4-i386.bin(32位Linux系统

                  jdk-7u79-linux-i586.tar.gz

                  hadoop-1.0.1-bin.tar.gz

                  hbase-0.94.14.tar.gz

                  apache-ant-1.9.4-bin.tar.gz

                  sonar-ant-task-2.1.jar

1.centos系统安装及基础配置

    ①安装增强功能

    ②jdk安装

    ③ssh无密码登录

   (详细可参考http://blog.iyunv.com/u014319687/article/details/45875265)

2.hadoop-1.0.1伪分布配置

   早期的hadoop修改配置文件只需修改core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml。

  core-site.xml、hadoop-env.sh、hdfs-site.xml与上个博客配置一样。

   mapred-site.xml修改如下:

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

  &#26684;式化name节点

     bin/hadoop namenode -format

运行hadoop

     bin/start-all.sh

     输入jps查看启动项

    当有DataNode、NameNode、SecondaryNameNode、JobTracker、TaskTracker、Jps。即OK!可进入端口号localhost:50070查看hadoop可视化界面(不得不吐槽1版本界面粗糙)

3.hbase-0.94.14伪分布配置

修改hbase-env.sh、hbase-site.xml文件。在hbase/conf目录下

  hbase-env.sh与上篇博客一样。

   hbase-site.xml修改基本与上篇博客一致,但在配置root文件路径最好修改为file:/usr/hbase-0.94.14/rootdata。即放置在具体的文件夹内,而不是放在hdfs上(虽然网上大部分hbase配置教程都是放在hdfs上,但经过本人亲身体会,运行nutch容易出现找不到hdfs上的文件的错误)

  ②将hadoop目录下的hadoop-1.0.1-core.jar拷贝到hbase下lib文件夹中,删掉自带的hadoop-1.0.4-core.jar。

运行hbase(运行之前需启动hadoop)

    bin/start-hbase.sh

    输入jps查看启动项

   当有DataNode、NameNode、SecondaryNameNode、JobTracker、TaskTrackerHMaster、HRegionServer、HQuormPeer、Jps。即OK!可进入端口号localhost:60010查看hbase可视化界面。(如果迟迟无法打开,可能是hadoop启动了安全模式,解除安全模式指令  bin/hadoopdfs admin -safemode leave,再打开界面)输入指令bin/hbase shell,可

这里有个(偷懒)小技巧:vi ~/.bashrc,在文件中添加export PATH=hadoop路径/bin,exportPATH=hbase路径/bin,然后source ~/.bashrc。这样可以直接在终端命令行调用hadoop、hbase指令

3.Nutch伪分布配置(重头戏

   解压ant,配置ant环境变量(类&#20284;JAVA环境变量)

  sonar-ant-task-2.1.jar拷贝到nutch目录下

  ③修改gora.properties、nutch-site.xml、ivy.xml文件。(gora.properties、nutch-site.xml在nutch/conf目录下,ivy.xml在nutch/ivy目录下)

     gora.properties文件配置:

      查找gora.datastore

     修改为 gora.datastore.default=org.apache.gora.hbase.store.HBaseStore   (将默认存储方式设为HBase)

     nutch-site.xml文件配置:

<configuration>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<description>Default class for storing data</description>
</property>
<property>
  <name>http.agent.name</name>
  <value>agent</value>   (一定要给代理命名
  <description>HTTP 'User-Agent' request header. MUST NOT be empty -
  please set this to a single word uniquely related to your organization.

  NOTE: You should also check other related properties:

    http.robots.agents
    http.agent.description
    http.agent.url
    http.agent.email
    http.agent.version

  and set their values appropriately.

  </description>
</property>
</configuration>

   修改ivy.xml文件:

   将<dependencyorg=&quot;org.apache.gora&quot; name=&quot;gora-hbase&quot; rev=&quot;0.5&quot; conf=&quot;*->default&quot;/>注释消掉

④ant编译

    终端:nutch目录下输入ant(接下来就是等待了,因电脑配置而异少则十分钟,多则半个小时往上走。)

     当出现BUILD SUCCESSFUL时,就ant完毕。

4.nutch爬虫抓取步骤

   由于是伪分布式安装,所以只有本地抓取和伪分布式抓取。ant完毕之后,nutch目录下会多出个runtime文件夹,里面有deploy和local文件夹。local是本地抓取,deploy是分布式和伪分布式抓取。

  本地抓取

     首先在local目录下创建文件夹urls,并创建文件url,写入网站url(如:http://news.yahoo.com/)

    执行 inject命令,并执行crawlId为news。

    bin/nutch inject urls -crawlId news

     在hbase的shell下执行scan 'news-webpage',查看news-webpage信息。

     此后分别执行:(抓取的每个步骤,熟悉一下流程,其实只需要输入bin/nutchinject urls -crawlId news命令即可)

/nutch generate -topN5 -crawlIdnews(会产生两个序列号)

/nutchfetch  两序列号 -crowlId news -threads 50

/nutchparse 两序列号-crawlId news

/nutchupdatedb -crawId news

  伪分布式抓取

    在deploy目录下创建文件夹urls,并创建文件url,写入网站url(如:http://news.yahoo.com/)

   将urls部署到hdfs中:hadoop fs -put urls urls

   执行:bin/crawl urls news 2(进行两次爬虫)

    可进入端口号localhost:50030查看执行过程。



               

                           

    

         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-137820-1-1.html 上篇帖子: hadoop2.2重新格式化namenode 下篇帖子: hadoop archive
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表