分享

nutch相关视频前十讲

hyj 2014-4-9 05:18:13 发表于 视频 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 12060
本帖最后由 hyj 于 2014-9-4 16:47 编辑
第一讲
1、    通过nutch,诞生了hadoop、tika、gora。
2、    nutch通过ivy来进行依赖管理(1.2之后)。
3、    nutch是使用svn进行源代码管理的。
4、    lucene、nutch、hadoop,在搜索界相当有名。
5、    ant构建之后,生成runtime文件夹,该文件夹下面有deploy和local文件夹,分别代表了nutch的两种运行方式。
6、    nutch和hadoop是通过什么连接起来的?通过nutch脚本。通过hadoop命令把apache-nutch-1.6.job提交给hadoop的JobTracker。
7、    nutch入门重点在于分析nutch脚本文件。



1、  git来作为分布式版本控制工具,github作为server。bitbucket.org提供免费的私有库。
2、  nutch的提高在于研读nutch-default.xml文件中的每一个配置项的实际含义(需要结合源代码理解)。
3、  定制开发nutch的入门方法是研读build.xml文件。
4、  命令:
apt-get install subversion
cd release-1.6
apt-get install ant
ant
cd runtime/local
mkdir urls
vi urls/url.txt 并输入http://blog.tianya.cn
nohup bin/nutch crawl urls -dir data -depth 3 -threads 100 &
vi release-1.6/conf/nutch-site.xml 增加http.agent.name配置
cd ../../release-1.6
ant
cd runtime/local
nohup bin/nutch crawl urls -dir data -depth 3 -threads 100 &
删除报错的文件夹
nohup bin/nutch crawl urls -dir data -depth 1 -threads 100 &

1、    nutch的存储文件夹data下面各个文件夹和文件里面的内容究竟是什么?
2、    命令:
crawldb
bin/nutch | grep read
bin/nutch  readdb  data/crawldb  -stats
bin/nutch  readdb  data/crawldb  -dump  data/crawldb/crawldb_dump
bin/nutch  readdb  data/crawldb  -url  http://4008209999.tianyaclub.com/
bin/nutch  readdb  data/crawldb  -topN  10 data/crawldb/crawldb_topN
bin/nutch readdb data/crawldb  -topN 10  data/crawldb/crawldb_topN_m 1
segments
crawl_generate:
bin/nutch readseg -dump data/segments/20130325042858data/segments/20130325042858_dump -nocontent -nofetch -noparse -noparsedata  –noparsetext
crawl_fetch:
bin/nutch readseg -dump data/segments/20130325042858 data/segments/20130325042858_dump-nocontent -nogenerate -noparse -noparsedata  –noparsetext
content:
bin/nutch readseg -dump data/segments/20130325042858data/segments/20130325042858_dump -nofetch -nogenerate -noparse -noparsedata  –noparsetext
crawl_parse:
bin/nutch readseg -dump data/segments/20130325042858data/segments/20130325042858_dump -nofetch -nogenerate -nocontent –noparsedata  –noparsetext
parse_data:
bin/nutch readseg -dump data/segments/20130325042858data/segments/20130325042858_dump -nofetch -nogenerate -nocontent -noparse  –noparsetext
parse_text:
bin/nutch readseg -dump data/segments/20130325042858data/segments/20130325042858_dump -nofetch -nogenerate -nocontent -noparse  -noparsedata
全部:
bin/nutch readseg -dump data/segments/20130325042858data/segments/20130325042858_dump
segments
bin/nutch readseg -list -dir data/segments
bin/nutch readseg -list data/segments/20130325043023
bin/nutch readseg -get data/segments/20130325042858 http://blog.tianya.cn/
linkdb
bin/nutch readlinkdb data/linkdb -url http://4008209999.tianyaclub.com/
bin/nutch readlinkdb data/linkdb -dump data/linkdb_dump

第四讲
土豆在线视频地址(60分钟)
超清原版下载地址
压缩高清下载地址
1、  深入分析nutch的抓取周期
inject
generate -> fetch -> parse ->updatedb
2、  3大merge和3大read命令阐释
bin/nutch  |  grep merge
bin/nutch  |  grep read
bin/nutch  mergesegs  data/segments_all  -dir data/segments
3、  反转链接
bin/nutch  invertlinks  data/linkdb  -dir  data/segments
4、  解析页面
bin/nutch  parsechecker  http://apdplat.org

第五讲
土豆在线视频地址(66分钟)
超清原版下载地址
压缩高清下载地址
1、  域统计
bin/nutch  domainstats  data2/crawldb/current  host  host
bin/nutch  domainstats data2/crawldb/current  domain domain
bin/nutch  domainstats data2/crawldb/current  suffix suffix
bin/nutch  domainstats data2/crawldb/current  tld  tld
2、webgraph
bin/nutch webgraph -segmentDir data2/segments -webgraphdbdata2/webgraphdb
有相同inlinks的URL,只输出topn条
bin/nutch nodedumper -inlinks -output  inlinks -topn 1 -webgraphdb data2/webgraphdb
有相同outlinks的URL,只输出topn条
bin/nutch nodedumper -outlinks  -output  outlinks -topn 1 -webgraphdb data2/webgraphdb
有相同scores的URL,只输出topn条(初始分值全为0)
bin/nutch nodedumper -scores  -output scores -topn 1 -webgraphdbdata2/webgraphdb
计算URL分值
bin/nutch  linkrank  -webgraphdb  data2/webgraphdb
再次查看分值
bin/nutch nodedumper -scores  -output scores –topn 1 -webgraphdbdata2/webgraphdb
对结果进行分组,取最大值或是连加和(topn参数不参与)
bin/nutch nodedumper -group domain sum -inlinks -outputinlinks_group_sum  -webgraphdbdata2/webgraphdb


bin/nutch nodedumper -group domain max -inlinks -outputinlinks_group_max  -webgraphdbdata2/webgraphdb
对url进行分组,分组方式可选择为host或是domain,对同一组的url执行topn限制,对执行了topn限制的url集合执行max或是sum操作,max和sum所针对的排序值是3种方式之一inlinks、outlinks以及scores。

第六讲
土豆在线视频地址(46分钟)
超清原版下载地址
压缩高清下载地址
1、注入分值
bin/nutch  readdb  data2/crawldb  -dump  crawldb_dump
cat  crawldb_dump/*  |  grep  Score  |  sort  |  uniq
bin/nutch  scoreupdater -crawldb data2/crawldb -webgraphdb data2/webgraphdb
2、轻量级抓取
bin/nutch  freegen  urls  data3/segments


第七讲
土豆在线视频地址(58分钟)
超清原版下载地址
压缩高清下载地址
1、indexchecker
bin/nutch  indexchecker  http://www.163.com
2、安装配置SOLR
tar  -xzvf  apache-solr-3.6.2.tgz
cd  apache-solr-3.6.2/example
复制nutch的conf目录中的schema.xml文件到solr/conf目录
修改solr/conf/solrconfig.xml,将里面所有的<strname="df">text</str>都替换为<strname="df">content</str>
3、运行SOLR并提交索引
启动SOLR服务器
java -jar start.jar &
Web界面
提交索引
bin/nutch solrindex http://host2:8983/solr data/crawldb-linkdb data/linkdb -dir data/segments
4、使用LUKE工具查看索引
5、给SOLR3.6.2配置分词器mmseg4j
unzip mmseg4j-1.8.5.zip -d  mmseg4j-1.8.5
将mmseg4j-1.8.5/mmseg4j-all-1.8.5-with-dic.jar复制到solr下的lib目录
将schema.xml文件中所有的
  <tokenizerclass="solr.WhitespaceTokenizerFactory"/>

  <tokenizer class="solr.StandardTokenizerFactory"/>
替换为
  <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory"mode="complex"/>


1、指定LUKE工具的分词器
下载mmseg4j-1.9.1.v20130120-SNAPSHOT.zip
将压缩包里面的dist文件夹里面的jar解压,将解压出来com和data文件夹拖到lukeall-4.0.0-ALPHA.jar里面
启动luke,在Search选项卡的Analysis里面选择com.chenlb.mmseg4j.analysis.ComplexAnalyzer
2、安装配置SOLR4.2
tar  -xzvf  solr-4.2.0.tgz
cd  solr-4.2.0/example
复制nutch的conf目录中的schema-solr4.xml文件到solr/collection1/conf目录,改名为schema.xml,覆盖原来文件
修改solr/collection1/conf/schema.xml,在<fields>下增加:<field name="_version_" type="long" indexed="true" stored="true"/>
3、给SOLR4.2配置分词器mmseg4j
unzip mmseg4j-1.9.1.v20130120-SNAPSHOT.zip -d  mmseg4j-1.9.1
将mmseg4j-1.9.1/dist/*.jar复制到solr下的lib目录
将schema.xml文件中的
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  和
  <tokenizer class="solr.StandardTokenizerFactory"/>
  替换为
  <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex"/>
4、运行SOLR并提交索引
启动SOLR服务器
java -jar start.jar &
Web界面
提交索引
bin/nutch solrindex http://host2:8983/solr data/crawldb -linkdb data/linkdb -dir data/segments

1、  安装win上的nutch运行环境Cygwin
cygwin路径不要有空格
把安装好的JDK拷贝到用户主目录
把nutch的文件拷贝到用户主目录
下载解压ant,加入path
2、  运行nutch
Exception in thread "main" java.io.IOException:Failed to set permissions of path:\tmp\hadoop-ysc\mapred\staging\ysc-2036315919\.staging to 0700
修改hadoop-1.1.2\src\core\org\apache\hadoop\fs\FileUtil.java,搜索 Failed to set permissions of path,找到689行,把thrownew IOException改为LOG.warn
修改hadoop-1.1.2\build.xml,搜索autoreconf,移除匹配的6个executable="autoreconf"的exec配置
执行ant
用新生成的hadoop-core-1.1.3-SNAPSHOT.jar替换nutch的hadoop-core-1.0.3.jar


1、HADOOP单机本地模式
tar -xzvf hadoop-1.1.2.tar.gz
export  PATH=/home/ysc/hadoop-1.1.2/bin:$PATH
切换到nutch的deploy目录运行命令
2、HADOOP单机伪分布式模式
新建用户和组
addgroup hadoop
adduser --ingroup hadoop hadoop
注销root以hadoop用户登录
配置SSH
ssh-keygen -t rsa(密码为空,路径默认)
cp .ssh/id_rsa.pub .ssh/authorized_keys
准备HADOOP运行环境
tar -xzvf hadoop-1.1.2.tar.gz
在/home/hadoop/.bashrc 中追加:
export  PATH=/home/hadoop/hadoop-1.1.2/bin:$PATH
重新登录就生效
ssh localhost
which hadoop
配置HADOOP运行参数
vi conf/core-site.xml

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>

vi conf/hdfs-site.xml

<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/dfs/filesystem/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/dfs/filesystem/data</value>
</property>
<property>
  <name>dfs.replication</name>
<value>1</value>
</property>

vi conf/mapred-site.xml

<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/home/hadoop/mapreduce/system</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/hadoop/mapreduce/local</value>
</property>
格式化名称节点并启动集群
hadoop namenode -format
启动集群并查看WEB管理界面
start-all.sh
访问http://localhost:50030可以查看 JobTracker 的运行状态
访问http://localhost:50060可以查看 TaskTracker 的运行状态
访问http://localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等
停止集群
stop-all.sh停止集群
3、执行Nutch的crawl命令
(如失效,可以查看您此帖http://www.aboutyun.com/thread-5449-1-1.html)
下一篇
nutch相关视频后十讲

已有(2)人评论

跳转到指定楼层
shengzhilei 发表于 2014-9-1 20:56:14
回复

使用道具 举报

ansha886 发表于 2016-6-30 20:18:03
下载成功,谢谢楼主.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条