小试nutch2.1

最近学习机器学习,弄点小数据研究算法对于学习阶段还不错,不过不和实际数据结合总觉得是在玩玩具,因此想抓点数据搞点小应用。

nutch有2.1版本了,看介绍还不错,和hbase、gora结合使用,这样抓取数据的分布式存储和处理都一下ok了,那就试试吧。

前提

我的主机是centos系统,java和hadoop都已安装并正常使用,hadoop是按伪分布式方式部署的。

hbase版本使用hbase-0.90.6.tar.gz,nutch使用apache-nutch-2.1-src.tar.gz

hbase安装使用

按nutch2.1 wiki文档,hbase的版本最好是0.90.x且大于等于0.90.4,我下载了0.90.6,参考http://blog.csdn.net/hguisu/article/details/7244413配置运行成功,下面是主要步骤:

1:解压

 tar xfz hbase-0.90.6.tar.gz

cd hbase-0.90.6

2:启动

bin/start-hbase.sh即可

就这两步就可以了,不能再简单了

3:停止hbase

bin/stop-hbase.sh

4:命令行终端

bin/hbase shell

常用命令:

list    --    查看有哪些表

scan 'tablename'  --     查看表内容

put

get

具体使用请自己google,太多了,我这刚学的不太懂

nutch2.1安装使用

按http://wiki.apache.org/nutch/Nutch2Tutorial的步骤做就可以了,没啥特别的

第一步,编辑conf/nutch-site.xml,内容如下

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
 <name>storage.data.store.class</name>
 <value>org.apache.gora.hbase.store.HBaseStore</value>
 <description>Default class for storing data</description>
</property>
</configuration>

第二步,去掉ivy/ivy.xml下面这一行的注释:

<dependency org="org.apache.gora" name="gora-hbase" rev="0.2" conf="*->default" />

第三步,在conf/gora.properties添加下面一行:

gora.datastore.default=org.apache.gora.hbase.store.HBaseStore



除了wiki上提到的,最后要加上下面步骤:

编辑conf/nutch-default.xml

为http.agent.name属性写一个值,下面有说明不能为空,且告诉你该怎么写

另外http.robots.agents属性要在*前面加呢上面写的值,用逗号和*号分隔,下面是一个示例:

<property>
  <name>http.agent.name</name>
  <value>yourorg</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>

<property>
  <name>http.robots.agents</name>
  <value>yourorg,*</value>
  <description>The agent strings we'll look for in robots.txt files,
  comma-separated, in decreasing order of precedence. You should
  put the value of http.agent.name as the first agent name, and keep the
  default * at the end of the list. E.g.: BlurflDev,Blurfl,*
  </description>
</property>
上面yourorg替换为自己的名称即可

这样就可以用bin/nutch crawl urls -depth 3 -topN 50这样的命令运行了,其中urls里边放置你要抓取的网站文本文件,比如我写个a.txt,里边按行写网站url就可以,可以有多个文件。

抓取文件可以用bin/nutch readdb方式查看信息,也可以到hbase终端查看

后面我会再写一些文章讲述如何操作nutch抓取,结果查看,结果处理等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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证书问题:此错误可能是由于证书问题引起的。您可以检查证书是否过期或不匹配,并尝试更新或更换证书。 针对这个错误,您可以逐一排查上述情况,并尝试相应的解决方法来解决该问题。如果问题仍然存在,您可能需要进一步的调查和故障排除来确定准确的原因并解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值