国内首套免费的《Nutch相关框架视频教程》(1-16)
转自:http://yangshangchuan.iteye.com/blog/1837935 Nutch是一个Java开源项目,拥有近十年的历史,从一开始的搜索引擎演变为如今的网络爬虫。在Nutch的进化过程中,产生了Hadoop、Tika和Gora三个Java开源项目。如今这三个项目都发展迅速,极其火爆,尤其是Hadoop,其已成为大数据和云计算的代名词。 本人拥有多年Nutch
第一讲
土豆在线视频地址(52分钟)
超清原版下载地址
压缩高清下载地址
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脚本文件。
第二讲
土豆在线视频地址 (52分钟)
超清原版下载地址
压缩高清下载地址
1、 >土豆在线视频地址(53分钟)
超清原版下载地址
压缩高清下载地址
1、 nutch的存储文件夹data下面各个文件夹和文件里面的内容究竟是什么?
2、 命令:
crawldb
bin/nutch>http://4008209999.tianyaclub.com/
bin/nutch readdb data/crawldb -topN 10 data/crawldb/crawldb_topN
bin/nutch>土豆在线视频地址(60分钟)
超清原版下载地址
压缩高清下载地址
1、 深入分析nutch的抓取周期
inject
generate ->>http://apdplat.org
第五讲
土豆在线视频地址(66分钟)
压缩高清下载地址
1、 域统计
bin/nutch domainstats data2/crawldb/current host host
bin/nutch domainstats data2/crawldb/current domain>土豆在线视频地址(46分钟)
压缩高清下载地址
1、注入分值
bin/nutch >土豆在线视频地址(58分钟)
超清原版下载地址
压缩高清下载地址
1、indexchecker
bin/nutch indexchecker http://www.163.com
2、安装配置SOLR
wget http://mirror.bjtu.edu.cn/apache/lucene/solr/3.6.2/apache-solr-3.6.2.tgz
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>http://host2:8983
提交索引
bin/nutch> http://host2:8983/solr> http://mmseg4j.googlecode.com/files/mmseg4j-1.8.5.zip
unzip> 和
<tokenizer> 替换为
<tokenizer>
第八讲
土豆在线视频地址(38分钟)
超清原版下载地址
压缩高清下载地址
1、指定LUKE工具的分词器
访问https://code.google.com/p/mmseg4j/downloads/list
下载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
wget http://labs.mop.com/apache-mirror/lucene/solr/4.2.0/solr-4.2.0.tgz
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>
3、给SOLR4.2配置分词器mmseg4j
wget https://mmseg4j.googlecode.com/files/mmseg4j-1.9.1.v20130120-SNAPSHOT.zip
unzip> 和
<tokenizer> 替换为
<tokenizer>
4、运行SOLR并提交索引
启动SOLR服务器
java -jar>http://host2:8983
提交索引
bin/nutch>土豆在线视频地址(44分钟)
超清原版下载地址
压缩高清下载地址
1、 安装win上的nutch运行环境Cygwin
cygwin路径不要有空格
把安装好的JDK拷贝到用户主目录
把nutch的文件拷贝到用户主目录
下载解压ant,加入path
2、 运行nutch
Exception>https://issues.apache.org/jira/browse/HADOOP-7682
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz
修改hadoop-1.1.2\src\core\org\apache\hadoop\fs\FileUtil.java,搜索 Failed>
执行ant
用新生成的hadoop-core-1.1.3-SNAPSHOT.jar替换nutch的hadoop-core-1.0.3.jar
第十讲
土豆在线视频地址(58分钟)
超清原版下载地址
压缩高清下载地址
1、HADOOP单机本地模式
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz
tar -xzvf>
切换到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运行环境
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz
tar -xzvf>
重新登录就生效
ssh>http://localhost:50030可以查看 JobTracker 的运行状态
访问http://localhost:50060可以查看 TaskTracker 的运行状态
访问http://localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及>土豆在线视频地址(64分钟)
超清原版下载地址
压缩高清下载地址
1、配置Cygwin支持无密码SSH登陆
安装SSH
默认的Cygwin没有安装ssh,所以重新运行http://www.cygwin.com/setup.exe
在Select Packages的时候,在search输入ssh,选择openssh:The OpenSSH>如果需要重新安装sshd服务,可以用cygrunsrv -R sshd
生成SSH Key
ssh-keygen -t rsa(密码为空,路径默认)
cp .ssh/id_rsa.pub .ssh/authorized_keys
登陆
ssh localhost
2、win上的HADOOP单机伪分布式
准备HADOOP运行环境
下载解压并拷贝到Cygwin的用户主目录
http://archive.apache.org/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
1.x版本有BUG,参考:
https://issues.apache.org/jira/browse/HADOOP-7682
https://issues.apache.org/jira/browse/HADOOP-8274
BUG修复请参考:
http://en.wikisource.org/wiki/User:Fkorning/Code/Hadoop-on-Cygwin
在/home/ysc/.bashrc 中追加:
export JAVA_HOME=/home/ysc/jdk1.7.0_17
export PATH=/home/ysc/hadoop-0.20.2/bin:$JAVA_HOME/bin:$PATH
在hadoop-0.20.2/conf/hadoop-evn.sh中追加
export JAVA_HOME=/home/ysc/jdk1.7.0_17
export HADOOP_LOG_DIR=/tmp/logs
创建符号链接
mklink /D C:\tmp C:\cygwin\tmp
重新登录就生效
ssh localhost
which hadoop
配置HADOOP运行参数
vi>http://localhost:50030可以查看 JobTracker 的运行状态
访问http://localhost:50060可以查看 TaskTracker 的运行状态
访问http://localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及>土豆在线视频地址(30分钟)
超清原版下载地址
压缩高清下载地址
1、 HADOOP多机完全分布式模式
三台机器
host2(NameNode、SecondaryNameNode、JobTracker、DataNode、TaskTracker)
host6(DataNode、TaskTracker)
host8(DataNode、TaskTracker)
vi /etc/hostname(分别给每一台主机指定主机名)
vi /etc/hosts(分别给每一台主机指定主机名到IP地址的映射)
新建用户和组
三台机器上面都要新建用户和组
addgroup hadoop
adduser --ingroup hadoop hadoop
更改临时目录权限
chmod 777 /tmp
注销root以hadoop用户登录
配置SSH
在host2上面执行
ssh-keygen -t rsa(密码为空,路径默认)
该命令会在用户主目录下创建 .ssh 目录,并在其中创建两个文件:id_rsa 私钥文件,是基于 RSA 算法创建,该私钥文件要妥善保管,不要泄漏。id_rsa.pub 公钥文件,和 id_rsa 文件是一对儿,该文件作为公钥文件,可以公开
cp .ssh/id_rsa.pub .ssh/authorized_keys
把公钥追加到其他主机的authorized_keys文件中
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host6
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host8
可以在host2上面通过ssh无密码登陆host6和host8
ssh host2
ssh host6
ssh host8
准备HADOOP运行环境
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz
tar -xzvf>
重新登录就生效
ssh localhost
which hadoop
配置HADOOP运行参数
vi conf/masters
把localhost替换为:host2
vi conf/slaves
删除localhost,加入两行:
host2
host6
host8
vi conf/core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://host2:9000</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>3</value>
</property>
vi conf/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>host2: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文件到其他节点
scp -r /home/hadoop/hadoop-1.1.2 hadoop@host6:/home/hadoop/hadoop-1.1.2
scp -r /home/hadoop/hadoop-1.1.2 hadoop@host8:/home/hadoop/hadoop-1.1.2
格式化名称节点并启动集群
hadoop>http://localhost:50030可以查看 JobTracker 的运行状态
访问http://localhost:50060可以查看 TaskTracker 的运行状态
访问http://localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等
停止集群
stop-all.sh停止集群
第十三讲
优酷在线视频地址(29分钟)
1、改变负载
三台机器,改变负载
host2(NameNode、DataNode、TaskTracker)
host6(SecondaryNameNode、DataNode、TaskTracker)
host8(JobTracker、DataNode、TaskTracker)
指定SecondaryNameNode为host6:
vi conf/masters指定host6
scp conf/masters host6:/home/hadoop/hadoop-1.1.2/conf/masters
scp conf/masters host8:/home/hadoop/hadoop-1.1.2/conf/masters
vi conf/hdfs-site.xml
<property>
<name>dfs.http.address</name>
<value>host2:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>host6:50090</value>
</property>
scp conf/hdfs-site.xml host6:/home/hadoop/hadoop-1.1.2/conf/hdfs-site.xml
scp conf/hdfs-site.xml host8:/home/hadoop/hadoop-1.1.2/conf/hdfs-site.xml
指定JobTracker为host8:
vi conf/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>host8:9001</value>
</property>
scp conf/mapred-site.xml host6:/home/hadoop/hadoop-1.1.2/conf/mapred-site.xml
scp conf/mapred-site.xml host8:/home/hadoop/hadoop-1.1.2/conf/mapred-site.xml
vi conf/core-site.xml
<property>
<name>fs.checkpoint.dir</name>
<value>/home/hadoop/dfs/filesystem/namesecondary</value>
</property>
scp conf/core-site.xml host6:/home/hadoop/hadoop-1.1.2/conf/core-site.xml
scp conf/core-site.xml host8:/home/hadoop/hadoop-1.1.2/conf/core-site.xml
配置host8:
host8上的脚本start-mapred.sh会启动host2和host6上面的TaskTracker,所以需要对host8执行:
ssh-keygen -t rsa(密码为空,路径默认)
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host2
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host6
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host8
可以在host8上面通过ssh无密码登陆host2和host6
ssh>
host2: 执行start-dfs.sh
host8: 执行start-mapred.sh
2、SecondaryNameNode
ssh host6
停止secondarynamenode
hadoop-1.1.2/bin/hadoop-daemon.sh stop secondarynamenode
强制合并fsimage和eidts
hadoop-1.1.2/bin/hadoop secondarynamenode -checkpoint force
启动secondarynamenode
hadoop-1.1.2/bin/hadoop-daemon.sh start secondarynamenode
3、启用回收站
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
第十四讲
优酷在线视频地址(26分钟)
1、 动态增加DataNode节点和TaskTracker节点
以host226为例
在host226上执行:
指定主机名
vi /etc/hostname
指定主机名到IP地址的映射
vi /etc/hosts
增加用户和组
addgrouphadoop
adduser--ingroup hadoop hadoop
更改临时目录权限
chmod777 /tmp
在host2上执行:
vi conf/slaves
增加host226
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host226
scp-r /home/hadoop/hadoop-1.1.2 hadoop@host226:/home/hadoop/hadoop-1.1.2
在host8上执行:
vi conf/slaves
增加host226
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host226
在host226上面执行:
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
在/etc/hosts的配置文件中,localhost到ip地址的映射要放到ipv4的最后面
第十五讲
优酷在线视频地址(30分钟)
1、限制hadoop节点连接
NameNode:
vi conf/hdfs-site.xml
<property>
<name>dfs.hosts</name>
<value>/home/hadoop/hadoop-1.1.2/conf/include</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/hadoop-1.1.2/conf/exclude</value>
</property>
加入集群节点
vi /home/hadoop/hadoop-1.1.2/conf/include
JobTracker:
vi conf/mapred-site.xml
<property>
<name>mapred.hosts</name>
<value>/home/hadoop/hadoop-1.1.2/conf/include</value>
</property>
<property>
<name>mapred.hosts.exclude</name>
<value>/home/hadoop/hadoop-1.1.2/conf/exclude</value>
</property>
加入集群节点
vi /home/hadoop/hadoop-1.1.2/conf/include
重启集群
2、动态删除DataNode节点和TaskTracker节点
vi /home/hadoop/hadoop-1.1.2/conf/exclude
增加待删除的节点host226
在NameNode上面执行:
hadoop dfsadmin -refreshNodes
vihadoop-1.1.2/conf/slaves (去掉host226)
vi hadoop-1.1.2/conf/include(去掉host226)
hadoop dfsadmin -refreshNodes(使include的更改生效)
rmhadoop-1.1.2/conf/exclude
exclude主要是使一个datanode节点安全退役
删除tasktracker方式一:
vi /home/hadoop/hadoop-1.1.2/conf/exclude
增加待删除的节点host226
在JobTracker上面执行:
hadoop mradmin -refreshNodes
vihadoop-1.1.2/conf/slaves (去掉host226)
vi hadoop-1.1.2/conf/include(去掉host226)
hadoop mradmin -refreshNodes(使include的更改生效)
rmhadoop-1.1.2/conf/exclude
删除tasktracker方式二:
vi /home/hadoop/hadoop-1.1.2/conf/include
删除待删除的节点host226
在JobTracker上面执行:
hadoop mradmin -refreshNodes
vihadoop-1.1.2/conf/slaves (去掉host226)
第十六讲
优酷在线视频地址(27分钟)
1、运行基准测试
hadoop jarhadoop-test-1.1.2.jar
hadoop jarhadoop-test-1.1.2.jar DFSCIOTest -write -nrFiles 12 -fileSize 1000 -resFiletest
hadoop jarhadoop-test-1.1.2.jar DFSCIOTest -read -nrFiles 12 -fileSize 1000 -resFile test
hadoop jarhadoop-test-1.1.2.jar DFSCIOTest -clear
更多推荐
所有评论(0)