官方文档:http://wiki.apache.org/nutch/Nutch2Tutorial?action=show&redirect=GORA_HBase
现在网上针对nutch 2.0 以上版本的部署内容很残缺。经过两天奋战,终于把nutch 2.1在hbase上部署成功了!在此与网友分享。
准备两台机器:
cr5(master):192.168.8.185,cr8(slave):192.168.8.188
这两台机器必须保证相互的ssh是通的(具体可以问谷歌)
修改两台机器的/etc/hostname文件
cr5
或者
cr8
修改两台机器的/etc/hosts文件
192.168.8.185 cr5
192.168.8.188 cr8
我准备在cr5机上运行进程:
Hadoop: NameNode, SecondaryNameNode, JobTracker
Hbase: HMaster
在cr8机上运行进程:
Hadoop: DataNode, TaskTracker
Hbase: HQuorumPeer, HRegionServer
接下来我们开始部署hadoop和hbase
官网上有很多hadoop和hbase的版本,并不是所有的版本都可以被nutch 2.1支持的。
官方文档有这么一句话:
•Install and configure HBase. You can get it here (N.B. Gora 0.2 uses HBase 0.90.4, however the setup is known to work with more recent versions of the HBase 0.90.x branch)
保险起见还是采用推荐的 hbase 0.90.x 版本吧。
我选择的是 hadoop-1.0.4 和 hbase-0.90.6
那如果采用其他版本在运行nutch的时候会报以下异常
Exception in thread "main" java.lang.NoSuchMethodError:
org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V
我觉得是因为gora的原因,因为gora的版本已经很久没有更新。
一、配置hadoop
1. wget 命令下载对应的hadoop版本.tar.gz
2. tar zxvf hadoop版本.tar.gz 解压hadoop
3. cd conf 下修改配置文件
a. hadoop-env.sh
export JAVA_HOME=/opt/jdk1.6.0_21
b. core-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>fs.default.name</name>
<value>hdfs://cr5:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/kfs/ww/data/hadoop_tmp</value>
<description>此处设置hadoop根目录</description>
</property>
</configuration>
c. hdfs-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>dfs.replication</name>
<value>1</value>
<description>副本个数</description>
</property>
</configuration>
d. mapred-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>mapred.job.tracker</name>
<value>cr5:9001</value>
<description>jobtracker 标识:端口号</description>
</property>
</configuration>
e. masters
cr5
f. slaves
cr8
配置完成后,将cr5的hadoop 复制到 cr8下面
在cr5 的hadoop/bin 下面运行
./hadoop -namenode format
./hadoop -datanode format
然后启动hadoop
./start-all.sh
检查启动成功与否
查看hadoop/logs下面的×.log日志确保没有异常
然后通过
http://localhost:50030
http://localhost:50070
来查看信息
二、配置hbase
1. wget 命令下载对应的hbase版本.tar.gz
2. tar zxvf hbase版本.tar.gz 解压hadoop
3. cd conf 下修改配置文件
a. hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://cr5:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>cr8</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/kfs/ww/data/zookeeper_data</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/kfs/ww/data/hbase_tmp</value>
</property>
</configuration>
注意:这里的hdfs://cr5:9000/hbase和hadoop配置需对应
b. hadoop-env.sh
export JAVA_HOME=/opt/jdk1.6.0_21
export HBASE_CLASSPATH=~/ww/hbase-0.90.6/conf
export HBASE_MANAGES_ZK=true
c. regionservers
cr8
hbase 配置完成
当然还有后续的工作
1. 删除hbase中的hadoop-core-版本.jar,然后把hadoop中的hadoop-core-版本.jar和commons-collections-3.2.1.jar拷贝到hbase的lib中。
否则hbase 的HMaster无法启动!
2. 关闭防火墙
到hbase/bin 下 通过 ./start-hbase.sh 启动hbase
验证启动与否查看log是否有异常
或者 http://localhost:60010查看具体信息
三、nutch 配置
部署到eclipse中就不加累述了,主要是配置~
1. wget 命令下载对应的hadoop版本.tar.gz
2. tar zxvf hadoop版本.tar.gz 解压hadoop
3. cd conf 下修改配置文件
a. gora.properties
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore
b. 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>http.agent.name</name>
<value>test-nutch</value>
</property>
<property>
<name>http.robots.agents</name>
<value>test-nutch,*</value>
</property>
<property>
<name>http.agent.name.check</name>
<value>true</value>
</property>
<!-- property> <name>plugin.includes</name> <value>.*</value> <description>Enable
all plugins during unit testing.</description> </property -->
<property>
<name>distributed.search.test.port</name>
<value>60000</value>
<description>TCP port used during junit testing.</description>
</property>
<property>
<name>http.accept.language</name>
<value>ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3</value>
<description>Value of the “Accept-Language” request header field.
This
allows selecting non-English language as default one to retrieve.
It
is a useful setting for search engines build for certain national
group.
</description>
</property>
<property>
<name>parser.character.encoding.default</name>
<value>utf-8</value>
<description>The character encoding to fall back to when no other
information
is available
</description>
</property>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<description>The Gora DataStore class for storing and retrieving data.
Currently the following stores are available: ….
</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>C:/data/hadoop_tmp</value>
<description>此处设置hadoop根目录</description>
</property>
</configuration>
c. nutch-site.xml
<property>
<name>plugin.folders</name>
<value>./src/plugin</value>
<description>Directories where nutch plugins are located. Each
element may be a relative or absolute path. If absolute, it is used
as is. If relative, it is searched for on the classpath.</description>
</property>
d. hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.master</name>
<value>cr5:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>cr8</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>
e. ivy.xml
<dependency org="org.apache.gora" name="gora-hbase" rev="0.2.1" conf="*->default" />
f. 新建urls文件夹,然后再文件夹中创建seed.txt ,在seed.txt中写入需要抓取的链接
g. regex-urlfilter.txt 加入抓取条件正则
配置完成,后续工作
nutch中的hbase-版本.jar需和部署的hbase的版本统一
运行nutch
配置Arguments信息
1. Proguam arguments
urls -depth 3 topN 5
这里的urls就是nutch配置中生成的url种子文件夹
2. VM arguments
-Xms256m -Xmx512m -Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log
大功告成~~~
四、运行过程中异常处理
1. point org.apache.nutch.net.URLNormalizer not found.请参见
http://youkimra.iteye.com/blog/1039903
2. ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: \tmp\hadoop-admin\mapred\local\ttprivate to 0700
请参见:
http://download.csdn.net/detail/java2000_wl/4326323
3. nutch 中有一些plugin 的类缺少包,遇到问题补全包即可
转载请注明来自:
http://wangwei3.iteye.com/blog/1818599
分享到:
相关推荐
nutch2.1导入Eclipse过程中,import org.restlet.×;错误,缺少的包。
nutch2.1导入Eclipse过程中,import org.restlet.×;错误,缺少的包。
nutch最新2.1资源打包,配置nutch最新svn后更新打包的全资源
nutch分布式搜索索引热替换程序,当使用nutch分布式搜索的时候,通过修改nutch来实现重建索引和分布式搜索分隔开,相互不影响
nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.txt )
基于Nutch的分布式主题爬虫的研究与实现,王光,辛阳,随着互联网的日新月异的发展,网络中存储的信息量急剧增加,传统的通用搜索引擎在广泛应用的同时,面临无法满足个性化、专业化检
Nutch分布式网络爬虫研究与优化.pdfNutch分布式网络爬虫研究与优化.pdfNutch分布式网络爬虫研究与优化.pdf
nutch2.2.1安装步骤,需要自己下载以下软件: apache-ant-1.10.5-bin.tar.gz apache-nutch-2.2.1-src.tar.gz apache-tomcat-8.5.39.tar.gz jdk-8u201-linux-x64.tar.gz solr-4.10.3.zip
Linux下Nutch分布式配置 使用:分布式爬虫、索引、Nutch搜索本地数据、Nutch搜索HDFS数据。
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 本资源官网上下的源代码。 nutch-2.1 适用于windows系统
这是本人在完全分布式环境下在Cent-OS中配置Nutch-1.1时的总结文档,但该文档适合所有Linux系统和目前各版本的nutch。 目 录 介绍 ............................................................... 2 0 集群...
Nutch-1.0分布式安装手册.rar,完整的
nutch1.3在myclipse部署工程源码nutch1.3在myclipse部署工程源码nutch1.3在myclipse部署工程源码
apache-nutch-2.1,一个非常棒的搜索引擎!希望大家喜欢
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
非常实用的分布式搜索引擎开发工具nutch,有兴趣的赶紧下吧!
Nutch在Tomcat下的部署.doc
Nutch采用分布式架构,在多台机器上运行多个组件来完成整个爬取流程。核心组件包括Fetcher、Parser、Indexer等,同时还有一些可选组件如URL Normalizer、URL Filter等。这些组件相互协作,通过消息队列来传递数据,...
Linux下Nutch分布式配置和使用.pdf Lucene+Nutch源码.rar Lucene学习笔记.doc nutch_tutorial.pdf nutch二次开发总结.txt nutch入门.pdf nutch入门学习.pdf Nutch全文搜索学习笔记.doc Yahoo的Hadoop教程.doc [硕士...