Nutch 2.0 集群配置
来源:互联网 发布:单片机电源接口 编辑:程序博客网 时间:2024/06/05 10:57
目录
目录...1
【 参考资料 】...1
【 目前问题 】...1
【Nutch 2.0 支持的模式 】...1
【Nutch 2.0 】...1
【SVN 地址& 源码 】...1
【 添加至MyEclipse 】...2
【Build 】...3
【 生成runtime方式 】...4
【 支持Hadoop -- Nutch 】...5
【 支持Mysql生成runtime 】...5
【 支持Hbase生成runtime 】...6
【Linux 环境准备 】...7
【Nutch爬虫准备 】...8
【Linux 配置Nutch+ Mysql 】...9
【Linux 配置Nutch+ Hadoop集群 】...9
【Linux 配置Nutch+ Hbase集群 】...10
【Java操作Hbase】...13
【FAQ 】...13
【 参考资料】
Testing Nutch 2.0 under Eclipse.doc
http://wiki.apache.org/nutch/GORA_HBase
【 目前问题】
【 Nutch 2.0 支持的模式 】
1. Nutch +Hadoop
2. Nutch +Mysql
3. Nutch +Hbase
注:根据需要,三选一即可。
【 Nutch 2.0 】
【 SVN 地址 & 源码 】
地址:http://svn.apache.org/repos/asf/nutch/branches/nutchgora
将SVN中Nutch地址,添加到MyEclipse,SVN资源库中,如下图所示。
【 添加至MyEclipse 】
File -> New Project -> ->
->
->
->
点击:Finish。
->
配置成Java项目 -> End。
【 BuildBuild 】
刚添加的项目,因为没有lib,所有报错。
将build.xml添加至Ant中,执行顺序: -> 。
Resolve-default后,会自动创建build/lib,将lib引用至项目中。
【 生成runtime方式】
第一步:根据【Build】工程提示,让工程没有语法和编译异常。
注:如果是Hbase配置,由于lib不同,
/NutchGora/src/test/org/apache/nutch/storage/TestGoraStorage.java,会报语法错误,可以忽略。
第二步:将/NutchGora/build.xml拖向Ant View中,如下图显示。
执行Ant顺序:
clean -> init -> resolve-default -> -ivy-download-unchecked -> runtime
执行成功后,显示如下图。
【 支持Hadoop -- Nutch 】
使用:Nutch 1.4
因为原来Nutch 1.x的链接与数据的存储都是在HDFS上的,新的Nutch 2.0把存储层进行抽象,使用的是新的ORM框架GORA。
好像不支持文件式存储,必须进过Gora。支持:
所以,Hadoop配置,使用Nutch 1.4。请到官网下载。
【 支持Mysql生成runtime 】
修改:/NutchGora/ivy/ivy.xml。
<dependencyorg="mysql" name="mysql-connector-java"rev="5.1.13" conf="*->default"/>
修改:/NutchGora/conf/gora.properties。
###############################
#Default SqlStore properties #
###############################
#gora.sqlstore.jdbc.driver=org.hsqldb.jdbcDriver
#gora.sqlstore.jdbc.url=jdbc:hsqldb:hsql://localhost/nutchtest
#gora.sqlstore.jdbc.user=
#gora.sqlstore.jdbc.password=
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
gora.sqlstore.jdbc.user=root
gora.sqlstore.jdbc.password=123
生成runtime。
【 支持Hbase生成runtime 】
修改:/NutchGora/ivy/ivy.xml。
<dependencyorg="org.apache.gora" name="gora-hbase" rev="0.1"conf="*->compile" />
<dependencyorg="org.apache.zookeeper" name="zookeeper" rev="3.3.2"conf="*->default" />
修改:/NutchGora/conf/nutch-site.xml。
<configuration>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
</property>
</configuration>
修改:/NutchGora/conf/gora.properties。
###############################
#Default SqlStore properties #
###############################
#gora.sqlstore.jdbc.driver=org.hsqldb.jdbcDriver
#gora.sqlstore.jdbc.url=jdbc:hsqldb:hsql://localhost/nutchtest
#gora.sqlstore.jdbc.user=
#gora.sqlstore.jdbc.password=
#gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
#gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
#gora.sqlstore.jdbc.user=root
#gora.sqlstore.jdbc.password=123
注:ivy下载lib中,缺少gora--hbase-0.1.1-incubating.jar。
报异常,找不到该类:org.apache.gora.hbase.store.HBaseStore。
请自行下载gora--hbase-0.1.1-incubating.jar,添加到:/runtime/local/lib/
下载地址:
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.gora/gora-hbase/0.1.1-incubating
生成runtime。
【 Linux 环境准备 】
1. 安装JDK。(略)
2. 设置环境变量。
#vi /etc/profile
在最后面加入
#set java environment
JAVA_HOME=/home/jdk-1_7_0_02
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出。
3. 检查JDK是否安装成功。
#java -version
如果看到JVM版本及相关信息,即安装成功。
4. 下载:Mysql,Hadoop,Zookeeper,Hbase。
5. Nutch 三个版本。
统一放在/home/目录中。(随意)
6. /home/目录为:
/home/jdk-1_7_0_02
/hom/hadoop-1.0.1/
/hom/zookeeper-3.4.3/
/home/hbase-0.92.1/
/hom/nutch_hadoop/
/hom/nutch_mysql/
/hom/nutch_hbase/
【 Nutch爬虫准备 】
1. 打开Nutch 目录,例如:/hom/nutch_hadoop/runtime/local/。
2. 新建目录urls,在urls中新建一个文本文件nutch.txt,将要抓取的网站地址输入,比如http://www.163.com/(注意最后的/一定要有)
全路径:/hom/nutch_hadoop/runtime/local/urls/nutch.txt
3. 打开/hom/nutch_hadoop/runtime/local/conf/crawl-urlfilter.txt文件,根据正则表达式,修改为:
# accepthosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*.163.com/
4. 打开/hom/nutch_hadoop/runtime/local/conf/nutch-site.xml文件,添加。
<configuration>
<property>
<name>http.agent.name</name>
<value>HDnutch agent</value>
</property>
</configuration>
5. 命令说明,根据不同的情况调整,具体执行步骤,请参考下面(Hadoop/Mysql/Hbase),不同启动方式。
爬虫命令:$sh nutch crawl urls-dir sina -depth 4 -threads 5 -topN 1000 >&logs/log1.log
crawl:通知nutch.jar,执行crawl的main方法。
urls:存放需要爬行的url.txt文件的目录
-dir sina 爬行后文件保存的位置
-depth 2:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1。
-threads 指定并发的进程 这是设定为 4
-topN :一个网站保存的最大页面数。
【 Linux 配置Nutch + Mysql 】
1. 安装Mysql数据库。(略)
2. 检查Mysql是否安装成功。
#mysql
如果看到mysql相关提示信息,即安装成功。
1. 启动Nutch爬虫,执行顺序:
/hom/nutch_mysql/runtime/local/bin/nutchcrawl urls -depth 4 -threads 5
【 Linux 配置Nutch + Hadoop集群 】
1. 修改:/hom/hadoop-1.0.1/conf/core-site.xml。
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://10.10.10.17:9000</value>
</property>
</configuration>
2. 修改:/hom/hadoop-1.0.1/conf/core-site.xml。
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/hom/hadoop-1.0.1/data/</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hom/hadoop-1.0.1/data/</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
3. 修改:/hom/hadoop-1.0.1/conf/mapred-site.xml。
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>10.10.10.17:9001</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/hom/hadoop-1.0.1/mapredsystem</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/hom/hadoop-1.0.1/data/mapredlocal</value>
</property>
</configuration>
4. 主从配置。
修改:/hom/hadoop-1.0.1/conf/下masters和slaves这两个文件。
Masters代码:
10.10.10.17
Slaves代码:
10.10.10.15
5. Hadoop集群的所有机器的配置应该保持一致,一般我们在配置完master后,使用scp将配置文件同步到集群的其它服务器上。
6. 启动Nutch爬虫,执行顺序:
/hom/hadoop-1.0.1/bin/hadoopnamenode –format (首次执行,需要格式化NameNode)
/hom/hadoop-1.0.1/bin/start-all.sh
/hom/hadoop-1.0.1/hadoopdfs –ls
(验证一下是否启动成功,如果没有错误提示或者出现文件列表,那么恭喜你,Hadoop成功启动了。另外,我们可以通过访问http://10.10.10.17:50070来查看hdfs的状态,访问http://10.10.10.17:50030来查看map/reduce的状态。
如果出现错误,或Hadoop集群未启动,可以查看/hom/hadoop-1.0.1/logs/下的日志文件。)
/hom/hadoop-1.0.1/bin/hadoopdfsadmin -safemode leave
/hom/nutch_hadoop/runtime/local/nutchcrawl urls -dir sina -depth 4 -threads 5
【 Linux 配置Nutch + Hbase集群 】
2. 根据前面Hadoop配置集群。
3. 配置Zookeeper。
修改:/hom/zookeeper-3.4.3/conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/hom/zookeeper-3.4.3/data/
dataLogDir=/hom/zookeeper-3.4.3/data/
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=10.10.10.17:2888:3888
server.2=10.10.10.15:2888:3888
在/hom/zookeeper-3.4.3/创建,data目录。全路径:/hom/zookeeper-3.4.3/data/
在/hom/zookeeper-3.4.3/data/创建myid文件。
Myid内容对应IP地址,与conf/zoo.cfg配置。
如:
10.10.10.17/hom/zookeeper-3.4.3/data/myid文件内容:1
10.10.10.15/hom/zookeeper-3.4.3/data/myid文件内容:2
将Zookeeper配置同步到其他集群机器上。相应修改myid标识。
4. 配置Hbase集群。
修改:/home/hbase-0.92.1/conf/hbase-site.xml。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://10.10.10.17:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>10.10.10.17:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>10.10.10.17,10.10.10.15</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
</configuration>
修改:/home/hbase-0.92.1/conf/hbase-env.sh
# ExtraJava runtime options.
# Below are what we set by default. May only work with SUN JVM.
# For more on why as well as other possible settings,
# see http://wiki.apache.org/hadoop/PerformanceTuning
export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC-XX:+CMSIncrementalMode"
export JAVA_HOME=/home/jdk-1_7_0_02
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/home/hbase-0.92.1/
修改:/home/hbase-0.92.1/conf/regionservers。
10.0.0.17
10.0.0.15
将Hbase配置同步到其他集群机器上。
5. 启动Nutch爬虫,执行顺序:
/hom/hadoop-1.0.1/bin/start-all.sh
/hom/hadoop-1.0.1/bin/hadoopdfsadmin -safemode leave
分别在主从执行:
/hom/zookeeper-3.4.3/bin/zkServer.shstart
/home/hbase-0.92.1/bin/start-hbase.sh
/hom/nutch_hbase/runtime/local/bin/nutchcrawl urls -depth 4 -threads 5
【 Java操作Hbase 】
参考:http://www.cnblogs.com/ylqmf/archive/2012/2/18.html
【 FAQ 】
1. 关闭linux防火墙。
2. 集群环境,最好添加Linux密匙,自动登录,不用手工输入密码。
3. 关闭Hadoop安全模式,/hom/hadoop-1.0.1/bin/hadoopdfsadmin -safemode leave
4. 配置文件使用IP地址,使用主机名称部分不识别(由于环境造成)。
5. 如果Hadoop配置后,最好删除Hadoop配置中,dfs.name.dir目录中,name文件夹。重新执行:/hom/hadoop-1.0.1/bin/hadoopnamenode –format。
6. 将各框架的lib相互替换成版本一致的lib。
如:/home/hbase-0.92.1/lib/hadoop-core-x.x.x.jar删除。
将/hom/hadoop-1.0.1/hadoop-core-1.0.1.jar复制过来。
- nutch-2.0集群配置
- Nutch 2.0 集群配置
- Nutch-hadoop集群配置——Ubuntu10.04
- Nutch-hadoop集群配置——Ubuntu10.04
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch+Hadoop集群搭建
- Nutch 的集群式搜索引擎
- Nutch加Hadoop集群搭建
- Nutch 0.9分布式配置
- nutch安装及配置
- Nutch-1.0配置
- Nutch 的配置
- js 将json字符串转换为json对象
- 判断是不是完数
- ifndef/define/endif作用和用法
- tomcat conf目录下四个文件的作用
- 每一位Android开发者应该知道的Android体系架构和开发库
- Nutch 2.0 集群配置
- 初次使用clone,是因为使用了Laravel的dbBuilder
- leach协议在NS2.34上的安装移植
- Cocos2d-x 反锯齿
- wikioi 丑数
- JDBC及其connection的指令
- 【安卓】android.view.ViewTreeObserver.OnGlobalLayoutListener
- zoj 3762 Pan's Labyrinth
- JAVA面向对象思想