nutch 集成 hbase

1 篇文章 0 订阅
1 篇文章 0 订阅
nutch安装
安装软件准备
安装环境:centos 6.5
nutch:v2.2.1
hbase:v0.94.18
本篇重点讲述nutch的安装和nutch与hbase的集成,hbase的安装请参考其他资料;
安装步骤:
  1. 安装ant:因编译nutch源码,需要ant工具,下载apache-ant 设置 系统变量
    写道
    [hadoop@master nutch]$ vim /etc/profile
     添加:ANT_HOME=/usr/local/ant 变量,并将AN_HOMT添加到PATH
  2. 下载nutch安装包:http://nutch.apache.org/downloads.html,下载目前最新的apache-nutch-2.2.1-src.tar.gz 
    [hadoop@master nutch]$ wget -P /usr/local/ http://www.apache.org/dyn/closer.cgi/nutch/2.2.1/apache-nutch-2.2.1-src.tar.gz
     下载压缩包到/usr/local/目录下,软后解压赋予权限
    [hadoop@master local]$ chmod 777 apache-nutch-2.2.1-src.tar.gz 
    [hadoop@master local]$ tar zxvf apache-nutch-2.2.1-src.tar.gz 
    [hadoop@master local]$ mv apache-nutch-2.2.1 nutch
    [hadoop@master local]$ cd nutch/
     
  3. 修改nutch的conf/nutch-site.xml文件,添加如下代码:
    <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>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36</value>
    </property>
     
  4. 修改ivy/ivy.xml文件,找到:
    <dependency org="org.apache.gora" name="gora-hbase" rev="0.3"
    conf="*->default" />
     并把原有的注释去掉 
  5. 修改conf/gola.properies:
    gora.datastore.default=org.apache.gora.hbase.store.HBaseStore
     并注释掉默认的数据库存储配置:
    #gora.sqlstore.jdbc.driver=org.hsqldb.jdbc.JDBCDriver
    #gora.sqlstore.jdbc.url=jdbc:hsqldb:hsql://localhost/nutchtest
    #gora.sqlstore.jdbc.user=sa
    #gora.sqlstore.jdbc.password=
     
  6. ant编译nutch:切换到nutch目录:
    [hadoop@master local]$ cd nutch
    [hadoop@master nutch]$ ant
     编译过程会等待一段时间。
  7. 修改nutch配置文件:在编译nutch源文件前,为了支持hbase存储,需要修改相应的配置:
    #拷贝hbase的配置文件到nutch 
    cp /usr/local/hbase/conf/hbase-site.xml /usr/local/nutch/conf/
     复制hbase的jar包到nutch,本人安装的hbase是hbase0.94.18,nutch自带的gora0.3是只能支持到最高hbase0.92,默认是hbase0.90,而默认的0.90jar包去操作0.94的hbase,导致一个异常:
    java.lang.IllegalArgumentException: Not a host:port pair
     应该是低版本hbase client操作高版本hbase server的常见错误,但也不能直接用0.94的hbase jar包去替换,不然又会导致另一个错误:
    java.lang.NoSuchMethodError:org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V
     解决办法:我们选择hbase 0.92 到 0.93之间的版本,首先尝试0.92版本,可以从maven中心库下载:
    http://central.maven.org/maven2/org/apache/hbase/hbase/0.92.2/hbase-0.92.2.jar
     然后将hbase-0.92.2.jar包替换nutch
  8. 设置抓取网址: 编译后切换到目录:
    [hadoop@master nutch]$ cd runtime/local/
    [hadoop@master local]$ mkdir -p urls
    [hadoop@master local]$ vim urls/seed.txt 
     填写seed.txt内容:  http://www.apache.org/  每一行为一个目标地址;并将urls目录放到hdfs文件系统上:
    hadoop fs -copyFromLocal urls /home/hadoop/urls
     
  9. 运行nutch测试:执行nutch inject将网页种子放到hbase中
    [hadoop@master local]$ bin/nutch inject /home/hadoop/urls
    
     查看hbase中表:
    hbase shell
    
    进入到hbaseshell后查看表
    >list
     看到有表“webpage”则表示成功;
  10. 然后一次执行
    [hadoop@master local]$ bin/nutch  generate -topN 3
    [hadoop@master local]$ bin/nutch fetch -all
    
    [hadoop@master local]$ bin/nutch parse -all
    
    [hadoop@master local]$ bin/nutch updatedb
    
     
  11. 切换到hbase shell或使用hbase client查看数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nutch javax.net.ssl.sslexception : could not generate dh keypair 是一个SSL异常,意味着Nutch无法生成DH密钥对。 TLS(Transport Layer Security)是一种加密协议,用于保护在网络上进行的通信。在TLS握手期间,服务器和客户端会协商加密算法和生成共享密钥对。 DH(Diffie-Hellman)密钥交换是TLS协议中常用的一种加密算法。它允许服务器和客户端在不直接传递密钥的情况下,通过交换公钥来生成共享密钥。 nutch javax.net.ssl.sslexception : could not generate dh keypair 错误意味着Nutch无法生成DH密钥对。这可能是由于以下几个原因导致的: 1. Java安全性策略限制:Java默认情况下,限制了密钥长度。您可以尝试通过修改Java安全性策略文件来解决此问题。 2. 加密算法不受支持:您使用的Java版本可能不支持所需的加密算法。您可以尝试升级到较新的Java版本。 3. 随机数生成器问题:DH密钥对需要使用随机数生成器生成随机数。但是,如果随机数生成器不可用或出现故障,就会出现此错误。您可以尝试重新配置随机数生成器或更换可靠的实现。 4. SSL证书问题:此错误可能是由于证书问题引起的。您可以检查证书是否过期或不匹配,并尝试更新或更换证书。 针对这个错误,您可以逐一排查上述情况,并尝试相应的解决方法来解决该问题。如果问题仍然存在,您可能需要进一步的调查和故障排除来确定准确的原因并解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值