zoukankan      html  css  js  c++  java
  • nutch-2.2.1 hadoop-1.2.1 hbase-0.92.1 集群部署

    参考网站:
    http://blog.csdn.net/weijonathan/article/details/10178919    一个完整的部署过程,只是版本有所区别
    http://m.blog.csdn.net/blog/WeiJonathan/9251597    杨尚川的博客(nutch 分布式运行)
    http://qindongliang1922.iteye.com/blog/1977053 三劫散仙博客(如何部署hbase)
    http://wiki.apache.org/nutch/Nutch2Tutorial 官网

    一:nutch2.x与nutch1.x的主要区别:数据访问层的抽象
    nutch 2.x----gora-core-0.3----gora-hbase----hbase
    gora-core-0.3:apache-gora提供了对nosql访问的统一接口。(注解:在上述链接里可以看到对其他数据库的支持)
    gora-hbase:针对hbase实现了gora的接口。
    有了这两步nutch2.x就可以运行在Hbase上了。
    支持nosql的优势:
    当获取了外链要进行url排重的时候,以前基于hdfs的时候是读取之前全部的url用mapreduce实现排重(好沉重的赶脚),支持了nosql只需要一步查找即可。

    二:准备材料 hadoop
    -1.2.1 :http://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
    hbase-0.92.1 :http://archive.apache.org/dist/hbase/hbase-0.92.1/hbase-0.92.1.tar.gz
    nutch-2.2.1 :http://archive.apache.org/dist/nutch/2.2.1/apache-nutch-2.2.1-src.tar.gz
    使用wget下载。

    三:安装hadoop(略)
    我这里做了2个机器的hadoop集群,如下所示:
    192.168.2.51 Master.Hadoop
    192.168.2.52 Slave1.Hadoop

    四:安装Hbase(第一次配置简单点,使用自带的zookeeper)
    1 将hbase拷贝到Hadoop根目录下 参考命令:cp hbase-0.92.1.tar.gz /home/hadoop-1.2.1/ (之所以这样做可以方便以后扩展hadoop集群,直接scp就行了)
    2 解压并重命名 参考命令:tar -zxvf hbase-0.92.1.tar.gz mv hbase-0.92.1 hbase
    3 cd hbase
    4 修改 hbase-env.sh,参考配置:
    # The java implementation to use.  Java 1.6 required.
    # export JAVA_HOME=/usr/java/jdk1.6.0/        
    export JAVA_HOME=/usr/java/jdk                    注解:设置java_home
    export HBASE_CLASSPATH=/home/hadoop-1.2.1/conf    
    export HBASE_MANAGES_ZK=true
    ...
    # The directory where pid files are stored. /tmp by default.
    export HBASE_PID_DIR==/home/hadoop-1.2.1/hbase/pids (注解:这个最好不要采用默认,放在/tmp很不安全,有可能被误删)
       5 修改hbase-site.xml,参考配置:
    <configuration>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://Master.Hadoop:9000/hbase</value>  注解:这里与hadoop的hdfs建立了联系,如果你hadoop dfs -ls 发现没有hbase这个文件夹,
    </property>                                          运行:hadoop dfs -ls /hbase
    <property>
    <name>hbase.master</name>
    <value>192.168.2.51:60000</value>
    </property>
    <property>
     <name>hbase.zookeeper.quorum</name>
      <value>192.168.2.52</value>
      </property>
    </configuration>

       6 vim regionservers 参考配置:
           192.168.2.51
           192.168.2.52

       7 hadoop版本一致化:(版本不一致会出现异常)
         cp  /home/hadoop-1.2.1/hadoop-core-1.2.1.jar /home/hadoop-1.2.1/hbase/lib/
         并删除hbase自带的hadoop版本。

       8 cd /home/hadoop-1.2.1     将配置好的hbase拷贝到slave节点(192.168.2.52)  scp -r hbase root@192.168.2.52:/home/hadoop-1.2.1/

       9 启动hbase     cd /home/hbase/
         bin/start-hbase.sh

       10 启动成功,运行jps命令:
          16572 Resin
          30282 HMaster
          5275 NameNode
          5563 JobTracker
          5461 SecondaryNameNode
          5886 Jps
          30470 HRegionServer
          其中HMaster即hbase的主进程。

    五:安装nutch  
       1 解压(注:这个不需要解压到hadoop根目录,因为nutch是才操作hadoop的,在master上有就可以了)
         cd /home/
         tar -zxvf apache-nutch-2.2.1-src.tar.gz   将nutch解压到home下
       2 vim /home/nutch-2.2.1/ivy/ivy.xml
         <dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"/> 将此行的注释去掉

       3 将hbase-site.xml拷贝到nutch的配置文件(建立与hbase的联系???)

       4 ant                注解:编译过程很慢,会去加载大量的jar包。

       5 注入种子:    
         mkdir urls
         vim seed.txt
         http://news.163.com/
         http://www.gov.cn/
         http://www.sbsm.gov.cn/
         http://news.stnn.cc/china/
         http://www.zaobao.com/wencui/social
         http://www.xinhuanet.com/politics/1.htm
         http://news.china.com.cn/shehui/node_7185045.htm
         上传的hdfs,完成种子url的注入
         hadoop dfs -put urls urls

       6 修改采集规则:
         regex-urlfilter.txt
         # accept anything else
         +^http://news.163.com/
         +^http://www.sbsm.gov.cn/
         +^http://www.gov.cn/
         +^http://news.stnn.cc/china/
         +^http://www.zaobao.com/wencui/social
         +^http://www.xinhuanet.com/politics
         +^http://news.xinhuanet.com/politics/d+-d+/d+/c_d+.htm
         +^http://news.china.com.cn/d+-d+/d+/content_d+.htm
         +^http://news.china.com.cn/shehui/node_d+(_d+)?.htm
         注解:conf 下面的配置文件都会被打包到ant后生成的job文件中,所以这里要提前修改(以后要是要注入新的采集规则需要解压job文件修改)
       7 修改配置(集群环境运行)     
            cd runtime/deploy 

            unzip -d apache-nutch-2.2.1 apache-nutch-2.2.1.job 
            rm  apache-nutch-2.2.1.job 
            cd apache-nutch-2.2.1
            rm lib/hbase-***.jar 
            cp /home/hadoop-1.2.1/hbase/hbase-0.92.1.jar  lib 
            zip -r ../apache-nutch-2.1.job ./* 
            cd .. 
            rm -r apache-nutch-2.1
      8 运行命令:
        cd runtime/deploy/bin
        vim nutch 阅读shell发现:
        # figure out which class to run
        if [ "$COMMAND" = "crawl" ] ; then
        CLASS=org.apache.nutch.crawl.Crawler
        发现crawl命令运行Crawler类
        vim org.apache.nutch.crawl.Crawler   (参考这个命令找到那个Crawler类)
        得到命令格式为:
        System.out.println("Usage: Crawler (<seedDir> | -continue) [-solr <solrURL>] [-threads n] [-depth i] [-topN N] [-numTasks N]");
        cd /runtime/deploy
        于是运行如下命令:
        bin/nutch crawl urls -topN 1000 -depth 50
      9 如果运气足够好,你会在Hbase shell 后 list 后 发现一个  'webpage' 表
       

     附本人配置时候设置的 /etc/profile:
     

    #java
    export JAVA_HOME=/usr/java/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    #hadoop
    export HADOOP_HOME=/home/hadoop-1.2.1
    export PATH=$PATH:$HADOOP_HOME/bin
    
    #zookeeper
    export ZOOKEEPER_HOME=${HADOOP_HOME}/zookeeper
    export PATH=${PATH}:${ZOOKEEPER_HOME}/bin
    
    #hbase
    export HBASE_HOME=/home/hadoop-1.2.1/hbase
    export PATH=$PATH:$HBASE_HOME/bin
    export CLASSPATH=$CLASSPATH:$HBASE_HOME/lib
    
    #nutch 2.2
    export NUTCH_HOME=/home/hadoop-1.2.1/nutch/runtime/local




  • 相关阅读:
    windows7系统下升级到IE11时无法使用F12开发人员工具的解决办法
    微信公众号在线编辑器
    solr安装使用笔记
    在windows资源管理器添加进入当前目录dos窗口的快捷菜单
    spring mvc返回jsonp内容
    oracle最大连接数相关
    redis可视化管理工具Redis Desktop Manager
    Struts2远程代码执行漏洞预警
    postman请求数据库方法(Omysql)
    Selenium+java
  • 原文地址:https://www.cnblogs.com/i80386/p/3540389.html
Copyright © 2011-2022 走看看