Linux下Nutch环境简易搭建

1、    前置

1、1安装JDK

安装完JDK后,配置相应的环境变量(JAVA_HOMECLASSPATHPATH

1、2配置NUTCH环境变量

配置NUTCH_JAVA_HOME环境变量,值与JAVA_HOME相同

 

配置环境变量的Linux方法如下:

Echo $JAVA_HOME(环境变量值查看命令)

Export JAVA_HOME=/opt/(环境变量配置命令)

2、    安装

2、1下载Nutch1.6

现在Nutch的最新版本是Nutch2.1Nutch所有的版本可以再这个网址下载

http://archive.apache.org/dist/nutch/,这里使用的是Nutch1.6

 

2、2解压缩

对应的Linux命令为:tar -zxvf apache-nutch-1.6-bin.tar.gz

2、3校验Nutch安装是否成功

进入 apache-nutch-1.6-bin目录,输入bin/nutch命令,如果出现如下提示,表示nutch可用

2、4文件配置

conf/nutch-site.xml

nutch-site.xml中添加代理名称,如下

 

 

 

<property>

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

<value>My Nutch Spider</value>

</property>

 

 

为保证信息采集的准确性,建议使用如下部分

<property>

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

  <value>nutch-1.2</value>

  <description>tjt</description>

</property>

<property>

  <name>http.robots.403.allow</name>

  <value>true</value>

  <description></description>

</property>

<property>

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

  <value>tjtnutchhoho</value>

  <description></description>

</property>

<property>

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

  <value>http://ucooper.com</value>

  <description></description>

</property>

<property>

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

  <value>Nutch-1.2</value>

  <description></description>

</property>

 

 

conf/regex-urlfilter.txt

编辑文件conf/regex-urlfilter.txt并且替换

# accept anything else

+.

 

为一条与您要抓取的域名相对应的正则表达式。例如,如果您想要限制为抓取nutch.apache.org这一域名,这一行应该改为如下的样子:

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

 

这会包括在nutch.apache.org下的任何URL

 

urls/seed.txt

创建urls文件夹,在urls文件夹下创建seed.txt文件,对应的Linux命令如下:

mkdir -p urls

cd urls

touch seed.txt

 

seed.txt中添加信息(每一行一个网站url来告诉Nutch你想要抓取的网站),添加的信息如下所示:

http://nutch.apache.org/

 

 

2、5运行

现在我们已经准备好开始一次抓取,可以使用以下的参数:

-dir dir 指定用于存放抓取文件的目录名称。

-threads threads 决定将会在获取是并行的线程数。

-depth depth 表明从根网页开始那应该被抓取的链接深度。

-topN N 决定在每一深度将会被取回的网页的最大数目

运行下面的命令:

 

bin/nutch crawl urls -dir crawl -depth 3 -topN 5

如果能够看见下列目录被创建了表示运行成功:

crawl/crawldb

crawl/linkdb

crawl/segmentsThis

3、    常见问题

3、1Job failed

异常截图如下,出现此类问题的主要原因是seed.txt中的urlregex-urlfilter.txt中添加的过滤器不匹配,仔细检查这两个文件中的配置,问题即可解决(比如在添加过滤条件时丢失+^这两个符号)

 

3、2X point org.apache.nutch.net.URLNormalizer not found

异常截图如下,此异常出现在logs/hadoop.log中。出现此类问题的主要原因是

conf/nutch-default.xml文件中插件路径配置(plugin.folders这个参数)错误导致的,将路径修改为准确的值即可解决此问题。  

3、3bin/nutch无法执行

运行如下命令解决此问题:

Chemod +x bin/nutch

4、    参考资料

http://www.oschina.net/translate/nutch-tutorial?cmp(官方安装使用文档,针对的版本为1.6

http://blog.csdn.net/lskyne/article/details/9253381Nutch安装与学习)

http://blog.csdn.net/atco/article/details/8614443linuxnutch的安装配置)

http://blog.csdn.net/jiutao_tang/article/details/6450137Nutch使用总结)

http://blog.csdn.net/atco/article/details/8150142(运行调试nutch的问题处理及注意事项)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值