[转载] 把Nutch爬虫部署到Hadoop集群上
http://f.dataguru.cn/thread-240156-1-1.html
|
软件版本:Nutch 1.7, Hadoop 1.2.1, CentOS 6.5, JDK 1.7 前面的3篇文章中,Nutch 快速入门(Nutch 1.7),Nutch 快速入门(Nutch 2.2.1),在Eclipse里运行Nutch,Nutch都是跑在单机上,本文把Nutch部署到Hadoop集群上,在真正的分布式Hadoop集群上跑。 前提
1 启动Hadoop集群 伪分布式或真分布式的Hadoop集群都可以,无所谓。 选择一台配置好了的Hadoop客户端的机器(见Hadoop多用户的配置),作为客户机,以下操作均在这台客户机上进行。 2 下载Nutch源码 有两种方法,
3 把Hadoop的6个配置文件拷贝到Nutch的conf/目录 将Hadoop的六个配置文件,拷贝到Nutch的conf/目录,相当于把Hadoop集群的配置信息告诉Nutch, 在伪分布式模式下,
复制代码 在分布式模式下,
复制代码 4 修改Nutch的配置文件 修改 conf/nutch-site.xml:
复制代码 修改 regex-urlfilter.txt, 见Nutch 快速入门(Nutch 1.7) 第4节,
复制代码 5 重新编译Nutch 每次修改了$NUTCH_HOME/conf下的的文件,都需要重新编译Nutch,重新打包生成一个nutch-x.x.x.job文件,见这里,Running Nutch in (pseudo) distributed-mode。也可以打开build.xml看看里面的”runtime”这个task干了什么,就明白了。
复制代码 这会在runtime/deploy下生成一个Job文件,apache-nutch-1.7.job,它本质上是一个zip压缩包,可以打开看一下它里面的内容。可以看到它包含了很多编译好的class文件,以及从conf/目录下的拷贝出来的xml配置文件。 6 向Hadoop集群提交Job,进行抓取 首先,要在con/hadoop-env.sh 添加HADOOP_CLASSPATH,让Hadoop知道去哪里找Nutch所依赖的jar包,
复制代码 上传种子URL列表,
复制代码 提交Job,
复制代码 可以打开web页面监控job的进度,
把Nutch运行在伪分布式Hadoop集群上,比Standalone模式要好,因为可以通过web页面监控job。 查看结果
复制代码 7 注意 如果出现java.io.IOException: No valid local directories in property: mapred.local.dir的错误,说明你的客户机的mapred-site.xml是从hadoop集群拷贝过来的,没有修改过,mapred.local.dir是一个本地目录,集群上的机器有这个目录,但是你的本机上没有,所以出现了这个错误。解决办法是,在本地新建一个目录,然后把mapred.local.dir设置为这个路径。 如果出现org.apache.hadoop.security.AccessControlException: Permission denied: user=soulmachine, access=WRITE, inode="tmp"的错误,多半是因为你没有给这个用户创建hadoop.tmp.dir文件夹,见Hadoop多用户的配置第2.2节。 8 把Nutch 1.7 爬虫部署到Hadoop 2.x集群上 事实证明是完全可行的,Hadoop 2.x 向后兼容。 把hadoop 2.x的配置文件,全部拷贝到 nutch 的conf目录下
复制代码 然后编译,
复制代码 把种子列表上传到hdfs,
复制代码 提交Job,
复制代码 查看结果,
复制代码 参考资料 废弃的资料
Posted by soulmachine Feb 4th, 2014 Search-Engine
|
[转载] 把Nutch爬虫部署到Hadoop集群上的更多相关文章
- 把Nutch爬虫部署到Hadoop集群上
原文地址:http://cn.soulmachine.me/blog/20140204/ 把Nutch爬虫部署到Hadoop集群上 Feb 4th, 2014 | Comments 软件版本:Nutc ...
- 基于Docker一键部署大规模Hadoop集群及设计思路
一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存 ...
- 在Hadoop集群上的HBase配置
之前,我们已经在hadoop集群上配置了Hive,今天我们来配置下Hbase. 一.准备工作 1.ZooKeeper下载地址:http://archive.apache.org/dist/zookee ...
- MapReduce编程入门实例之WordCount:分别在Eclipse和Hadoop集群上运行
上一篇博文如何在Eclipse下搭建Hadoop开发环境,今天给大家介绍一下如何分别分别在Eclipse和Hadoop集群上运行我们的MapReduce程序! 1. 在Eclipse环境下运行MapR ...
- Hadoop集群上搭建Ranger
There are two types of people in the world. I hate both of them. Hadoop集群上搭建Ranger 在搭建Ranger工程之前,需要完 ...
- Hadoop集群上使用JNI,调用资源文件
hadoop是基于java的数据计算平台,引入第三方库,例如C语言实现的开发包将会大大增强数据分析的效率和能力. 通常在是用一些工具的时候都要用到一些配置文件.资源文件等.接下来,借一个例子来说明ha ...
- hadoop 把mapreduce任务从本地提交到hadoop集群上运行
MapReduce任务有三种运行方式: 1.windows(linux)本地调试运行,需要本地hadoop环境支持 2.本地编译成jar包,手动发送到hadoop集群上用hadoop jar或者yar ...
- 在Hadoop集群上的Hive配置
1. 系统环境Oracle VM VirtualBoxUbuntu 16.04Hadoop 2.7.4Java 1.8.0_111 hadoop集群master:192.168.19.128slave ...
- 在Hadoop集群上,搭建HBase集群
(1)下载Hbase包,并解压:这里下载的是0.98.4版本,对应的hadoop-1.2.1集群 (2)覆盖相关的包:在这个版本里,Hbase刚好和Hadoop集群完美配合,不需要进行覆盖. 不过这里 ...
随机推荐
- 2017.4.12 开涛shiro教程-第十八章-并发登录人数控制
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十八章-并发登录人数控制 shiro中没有提 ...
- (通用Mapper、分页,批量插入,一分钟接入)spring mvc+mybatis+maven集成tkmapper+pagehelper
<!-- maven tkmapper引入--> <dependency> <groupId>tk.mybatis</groupId> <arti ...
- js 判断是否包含
1.判断一个数组中是否包含某元素 arr.indexOf(val) > -1 // true 包含 false 不包含 arr.includes(val) // ES7 true 包含 fals ...
- hdu4888 多校B 最大流以及最大流唯一推断+输出方案
题意.给一个矩阵,告诉你每行和.每列和.而且限制所填数不大于k,问矩阵是否唯一. 经典建图不说了.第一次遇到推断最大流唯一性的.学习了:用dfs来推断残网中是否还存在环,若存在,则表明绕这个环走一圈, ...
- CentOS6.8 SVN服务器管理多项目
一 需求 一般来说,公司有多个项目,在搭建好SVN服务器之后,就需要使用SVN来实现不在一个项目中的开发人员不能访问其它项目中的代码. 假设: 有3个项目:project1.project2.proj ...
- 由需求而产生的一款db导出excel的工具
代码地址如下:http://www.demodashi.com/demo/12062.html 程序员最大的毛病可能就是懒,因为懒所以做出了许许多多提高自己工作效率的工具. 起因于我是商业开发,既然是 ...
- Shiro学习小结
1. What is Shiro? Apache旗下一个开源的Java权限框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架 ...
- 进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
摘要:本文主要介绍进程的基本属性,基本属性包含:进程ID.父进程ID.进程组ID.会话和控制终端. 进程基本属性 1.进程ID(PID) 函数定义: #include <sys/typ ...
- android性能优化学习笔记(加快应用程序启动速度:)
一:安卓中应用程序的启动方式有两种: 冷启动:后台没有该应用进程,系统会重新创建一个进程分配给该应用(所以会先创建和初始化Application类,再创建和初始化MainActivity,包括测量,布 ...
- SpringSecurity学习四----------基于不同角色跳转到不同URL
© 版权声明:本文为博主原创文章,转载请注明出处 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0& ...