Nutch相关框架视频教程

Nutch相关框架视频教程

2023年7月13日发(作者:)

Nutch相关框架视频教程杨尚川281032878@

Nutch相关框架视频教程

第一讲

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命令把的Tracker。

提交给hadoop7、 nutch入门重点在于分析nutch脚本文件。

1 / 44

Nutch相关框架视频教程杨尚川281032878@

第二讲

1、 git来作为分布式版本控制工具,github作为server。提供免费的私有库。

2、 nutch的提高在于研读文件中的每一个配置项的实际含义(需要结合源代码理解)。

3、 定制开发nutch的入门方法是研读文件。

4、 命令:

apt-get install subversion

svn co /repos/asf/nutch/tags/release-1.6/

cd release-1.6

apt-get install ant

ant

cd runtime/local

mkdir urls

vi urls/ 并输入

nohup bin/nutch crawl urls -dir data -depth 3 -threads 100 &

vi release-1.6/conf/ 增加配置

cd ../../release-1.6

2 / 44

Nutch相关框架视频教程杨尚川281032878@

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 &

3 / 44

Nutch相关框架视频教程杨尚川281032878@

第三讲

1、 nutch的存储文件夹data下面各个文件夹和文件里面的内容究竟是什么?

2、 命令:

crawldb

bin/nutch | grep read

bin/nutch readdb data/crawldb -stats

bin/nutchreaddb data/crawldb -dump data/crawldb/crawldb_dump

bin/nutch readdb data/crawldb -url/

bin/nutch readdb data/crawldb -topN 10 data/crawldb/crawldb_topN

bin/nutchreaddbdata/crawldb -topN 10data/crawldb/crawldb_topN_m 1

segments

crawl_generate:

bin/nutch readseg -dump data/segments/28

-nocontent -nofetch -noparse data/segments/28_dump

-noparsedata –noparsetext

crawl_fetch:

bin/nutch readseg -dump data/segments/28

data/segments/28_dump -nocontent -nogenerate -noparse

-noparsedata –noparsetext

4 / 44

Nutch相关框架视频教程杨尚川281032878@

content:

bin/nutch readseg -dump

data/segments/28_dump

-noparsedata –noparsetext

crawl_parse:

bin/nutch readseg -dump

data/segments/28_dump

–noparsedata –noparsetext

parse_data:

bin/nutch readseg -dump

data/segments/28_dump

-noparse –noparsetext

parse_text:

bin/nutch readseg -dump

data/segments/28_dump

-noparse -noparsedata

全部:

bin/nutch readseg -dump

data/segments/28_dump

5 / 44

data/segments/28

-nofetch -nogenerate -noparse

data/segments/28

-nofetch -nogenerate -nocontent

data/segments/28

-nofetch -nogenerate -nocontent

data/segments/28

-nofetch -nogenerate -nocontent

data/segments/28

Nutch相关框架视频教程杨尚川281032878@

segments

bin/nutch readseg -list -dir data/segments

bin/nutch readseg -list data/segments/23

bin/nutch readseg -get data/segments/28 /

linkdb

bin/nutch readlinkdb data/linkdb -url /

bin/nutch readlinkdb data/linkdb -dump data/linkdb_dump

6 / 44

Nutch相关框架视频教程杨尚川281032878@

第四讲

1、 深入分析nutch的抓取周期

inject

generate -> fetch -> parse ->updatedb

2、 3大merge和3大read命令阐释

bin/nutch | grep merge

bin/nutch | grep read

bin/nutch mergesegsdata/segments_all -dir data/segments

3、 反转链接

bin/nutch invertlinks data/linkdb -dir data/segments

4、 解析页面

bin/nutch parsechecker

7 / 44

Nutch相关框架视频教程杨尚川281032878@

第五讲

1、 域统计

bin/nutch domainstats data2/crawldb/currenthost 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

data2/webgraphdb

有相同inlinks的URL,只输出topn条

bin/nutch nodedumper-inlinks -output inlinks-topn

data2/webgraphdb

有相同outlinks的URL,只输出topn条

bin/nutch nodedumper -outlinks -output outlinks-topn

data2/webgraphdb

有相同scores的URL,只输出topn条(初始分值全为0)

bin/nutch nodedumper -scores -output scores-topn

data2/webgraphdb

计算URL分值

bin/nutch linkrank-webgraphdb data2/webgraphdb

8 / 44

-webgraphdb

1-webgraphdb

1-webgraphdb

1-webgraphdb Nutch相关框架视频教程杨尚川281032878@

再次查看分值

bin/nutch nodedumper -scores -output scores–topn 1-webgraphdb

data2/webgraphdb

对结果进行分组,取最大值或是连加和(topn参数不参与)

bin/nutch nodedumper -group domain sum -inlinks -output inlinks_group_sum

-webgraphdb data2/webgraphdb

bin/nutch nodedumper -group domain max -inlinks -output inlinks_group_max

-webgraphdb data2/webgraphdb

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

9 / 44

Nutch相关框架视频教程杨尚川281032878@

第六讲

1、注入分值

bin/nutch readdb data2/crawldb -dump crawldb_dump

cat crawldb_dump/* | grep Score | sort | uniq

bin/nutch scoreupdater -crawldb

data2/webgraphdb

2、轻量级抓取

bin/nutch freegen urls data3/segments

10 / 44

data2/crawldb -webgraphdb Nutch相关框架视频教程杨尚川281032878@

第七讲

1、indexchecker

bin/nutch indexchecker

2、安装配置SOLR3.6.2

wget /apache/lucene/solr/3.6.2/

tar -xzvf

cd apache-solr-3.6.2/example

复制nutch的conf目录中的文件到solr/conf目录

将solr/conf/文件里的所有text都替换为content

3、运行SOLR并提交索引

启动SOLR服务器

java -jar &

Web界面

host2:8983

提交索引

bin/nutch solrindex host2:8983/solr data/crawldb -linkdb data/linkdb -dir

data/segments

4、使用LUKE工具查看索引

11 / 44

Nutch相关框架视频教程杨尚川281032878@

5、给SOLR3.6.2配置分词器mmseg4j

wget /files/

unzip -d mmseg4j-1.8.5

将mmseg4j-1.8.5/复制到solr下的lib目录

将文件中所有的

替换为

mode="complex"/>

12 / 44

class="okenizerFactory" Nutch相关框架视频教程杨尚川281032878@

第八讲

1、指定LUKE工具的分词器

访问/p/mmseg4j/downloads/list

下载

将压缩包里面的dist文件夹里面的jar解压,将解压出来com和data文件夹拖到里面

启动luke,在Search选项卡的Analysis里面选择xAnalyzer

2、安装配置SOLR4.2

wget /apache-mirror/lucene/solr/4.2.0/

tar -

cdsolr-4.2.0/example

复制nutch的conf目录中的文件到solr/collection1/conf目录,改名为,覆盖原来文件

修改solr/collection1/conf/,在下增加:

name="_version_" type="long" indexed="true" stored="true"/>

3、给SOLR4.2配置分词器mmseg4j

wget

/files/

unzip -d mmseg4j-1.9.1

13 / 44

Nutch相关框架视频教程杨尚川281032878@

将mmseg4j-1.9.1/dist/*.jar复制到solr下的lib目录

将文件中的

替换为

mode="complex"/>

class="okenizerFactory"

4、运行SOLR并提交索引

启动SOLR服务器

java -jar &

Web界面

host2:8983

提交索引

bin/nutch solrindex host2:8983/solr data/crawldb -linkdb data/linkdb -dir

data/segments

14 / 44

Nutch相关框架视频教程杨尚川281032878@

第九讲

1、 安装win上的nutch运行环境Cygwin

cygwin路径不要有空格

把安装好的JDK拷贝到用户主目录

把nutch的文件拷贝到用户主目录

下载解压ant,加入path

2、 运行nutch

Exception in thread "main" ption: Failed to set permissions of path:

g to 0700

/jira/browse/HADOOP-7682

/apache/hadoop/common/hadoop-1.1.2/

修改,搜索Failed to set

permissions of path,找到689行,把throw new IOException改为

修改,搜索autoreconf,移除匹配的6个executable="autoreconf"的exec配置

执行ant

用新生成的替换nutch的

15 / 44

Nutch相关框架视频教程杨尚川281032878@

第十讲

1、HADOOP单机本地模式

wget /apache/hadoop/common/hadoop-1.1.2/

tar -xzvf

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_ .ssh/authorized_keys

准备HADOOP运行环境

wget /apache/hadoop/common/hadoop-1.1.2/

tar -xzvf

在/home/hadoop/.bashrc中追加:

export PATH=/home/hadoop/hadoop-1.1.2/bin:$PATH

重新登录就生效

ssh localhost

which hadoop

配置HADOOP运行参数

vi conf/

hdfs://localhost:9000

/home/hadoop/tmp

16 / 44

Nutch相关框架视频教程杨尚川281032878@

vi conf/

/home/hadoop/dfs/filesystem/name

/home/hadoop/dfs/filesystem/data

ation

1

vi conf/

r

localhost:9001

m

4

m

4

/home/hadoop/mapreduce/system

/home/hadoop/mapreduce/local

格式化名称节点并启动集群

hadoop namenode -format

启动集群并查看WEB管理界面

访问localhost:50030可以查看 JobTracker 的运行状态

17 / 44

Nutch相关框架视频教程杨尚川281032878@

访问localhost:50060可以查看 TaskTracker 的运行状态

访问localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等

停止集群

停止集群

3、执行Nutch的crawl命令

18 / 44

Nutch相关框架视频教程杨尚川281032878@

第十一讲

1、配置Cygwin支持无密码SSH登陆

安装SSH

默认的Cygwin没有安装ssh,所以重新运行/

在Select Packages的时候,在search输入ssh,选择openssh: The OpenSSH server and client

programs

配置SSH服务(以管理员身份运行cygwin)

ssh-host-config

Should privilege separation be used?yes

Do you want to install sshd as a service?yes

默认确认

Do you want to use a different name?no

Create new privileged user account 'cyg_server'?yes

输入密码

cygrunsrv -S sshd

如果需要重新安装sshd服务,可以用cygrunsrv -R sshd

生成SSH Key

ssh-keygen -t rsa(密码为空,路径默认)

cp .ssh/id_ .ssh/authorized_keys

登陆

ssh localhost

2、win上的HADOOP单机伪分布式

准备HADOOP运行环境

下载解压并拷贝到Cygwin的用户主目录

/dist/hadoop/core/hadoop-0.20.2/

1.x版本有BUG,参考:

/jira/browse/HADOOP-7682

/jira/browse/HADOOP-8274

BUG修复请参考:

/wiki/User:Fkorning/Code/Hadoop-on-Cygwin

在/home/ysc/.bashrc中追加:

export JAVA_HOME=/home/ysc/jdk1.7.0_17

19 / 44

Nutch相关框架视频教程杨尚川281032878@

export PATH=/home/ysc/hadoop-0.20.2/bin:$JAVA_HOME/bin:$PATH

在hadoop-0.20.2/conf/中追加

export JAVA_HOME=/home/ysc/jdk1.7.0_17

export HADOOP_LOG_DIR=/tmp/logs

创建符号链接

mklink /D C:tmp C:cygwintmp

重新登录就生效

ssh localhost

which hadoop

配置HADOOP运行参数

vi conf/

hdfs://localhost:9000

vi conf/

ation

1

vi conf/

r

localhost:9001

m

4

m

4

格式化名称节点并启动集群

hadoop namenode -format

启动集群并查看WEB管理界面

20 / 44

Nutch相关框架视频教程杨尚川281032878@

访问localhost:50030可以查看 JobTracker 的运行状态

访问localhost:50060可以查看 TaskTracker 的运行状态

访问localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等

停止集群

停止集群

、 执行wordcount命令

hadoop jar wordcount

21 / 44

inputoutput

3

Nutch相关框架视频教程杨尚川281032878@

第十二讲

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_ 公钥文件,和 id_rsa 文件是一对儿,该文件作为公钥文件,可以公开

cp .ssh/id_ .ssh/authorized_keys

把公钥追加到其他主机的authorized_keys 文件中

ssh-copy-id -i .ssh/id_ hadoop@host6

ssh-copy-id -i .ssh/id_ hadoop@host8

可以在host2上面通过ssh无密码登陆host6和host8

ssh host2

ssh host6

ssh host8

准备HADOOP运行环境

wget /apache/hadoop/common/hadoop-1.1.2/

tar -xzvf

在/home/hadoop/.bashrc中追加:

export PATH=/home/hadoop/hadoop-1.1.2/bin:$PATH

重新登录就生效

ssh localhost

22 / 44

Nutch相关框架视频教程杨尚川281032878@

which hadoop

配置HADOOP运行参数

vi conf/masters

把localhost替换为:host2

vi conf/slaves

删除localhost,加入两行:

host2

host6

host8

vi conf/

hdfs://host2:9000

vi conf/

/home/hadoop/dfs/filesystem/name

/home/hadoop/dfs/filesystem/data

ation

3

vi conf/

r

host2:9001

m

23 / 44

Nutch相关框架视频教程杨尚川281032878@

4

m

4

/home/hadoop/mapreduce/system

/home/hadoop/mapreduce/local

复制HADOOP文件到其他节点

scp -r /home/hadoop/hadoop-1.1.2hadoop@host6:/home/hadoop/hadoop-1.1.2

scp -r /home/hadoop/hadoop-1.1.2hadoop@host8:/home/hadoop/hadoop-1.1.2

格式化名称节点并启动集群

hadoop namenode -format

启动集群并查看WEB管理界面

访问localhost:50030可以查看 JobTracker 的运行状态

访问localhost:50060可以查看 TaskTracker 的运行状态

访问localhost:50070可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等

停止集群

停止集群

24 / 44

Nutch相关框架视频教程杨尚川281032878@

第十三讲

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/

s

host2:50070

s

host6:50090

scp conf/ host6:/home/hadoop/hadoop-1.1.2/conf/

scp conf/ host8:/home/hadoop/hadoop-1.1.2/conf/

指定JobTracker为host8:

vi conf/

r

host8:9001

scp conf/ host6:/home/hadoop/hadoop-1.1.2/conf/

scp conf/ host8:/home/hadoop/hadoop-1.1.2/conf/

vi conf/

/home/hadoop/dfs/filesystem/namesecondary

scp conf/ host6:/home/hadoop/hadoop-1.1.2/conf/

25 / 44

Nutch相关框架视频教程杨尚川281032878@

scp conf/ host8:/home/hadoop/hadoop-1.1.2/conf/

配置host8:

host8上的脚本会启动host2和host6上面的TaskTracker,所以需要对host8执行:

ssh-keygen -t rsa(密码为空,路径默认)

ssh-copy-id -i .ssh/id_ hadoop@host2

ssh-copy-id -i .ssh/id_ hadoop@host6

ssh-copy-id -i .ssh/id_ hadoop@host8

可以在host8上面通过ssh无密码登陆host2和host6

ssh host2

ssh host6

ssh host8

在/home/hadoop/.bashrc中追加:

export PATH=/home/hadoop/hadoop-1.1.2/bin:$PATH

host2: 执行

host8: 执行

2、SecondaryNameNode

ssh host6

停止secondarynamenode

hadoop-1.1.2/bin/ stop secondarynamenode

强制合并fsimage和eidts

hadoop-1.1.2/bin/hadoop secondarynamenode -checkpoint force

启动secondarynamenode

hadoop-1.1.2/bin/ start secondarynamenode

3、启用回收站

al

10080

26 / 44

Nutch相关框架视频教程杨尚川281032878@

第十四讲

1、 动态增加DataNode节点和TaskTracker节点

以host226为例

在host226上执行:

指定主机名

vi /etc/hostname

指定主机名到IP地址的映射

vi /etc/hosts

增加用户和组

addgroup hadoop

adduser --ingroup hadoop hadoop

更改临时目录权限

chmod 777 /tmp

在host2上执行:

vi conf/slaves

增加host226

ssh-copy-id -i .ssh/id_ 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_ hadoop@host226

在host226上面执行:

start datanode

start tasktracker

在/etc/hosts的配置文件中,localhost到ip地址的映射要放到ipv4的最后面

27 / 44

Nutch相关框架视频教程杨尚川281032878@

第十五讲

1、限制hadoop节点连接

NameNode:

viconf/

/home/hadoop/hadoop-1.1.2/conf/include

e

/home/hadoop/hadoop-1.1.2/conf/exclude

加入集群节点

vi /home/hadoop/hadoop-1.1.2/conf/include

JobTracker:

viconf/

/home/hadoop/hadoop-1.1.2/conf/include

e

/home/hadoop/hadoop-1.1.2/conf/exclude

加入集群节点

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

vi hadoop-1.1.2/conf/slaves (去掉host226)

28 / 44

Nutch相关框架视频教程杨尚川281032878@

vi hadoop-1.1.2/conf/include(去掉host226)

hadoop dfsadmin -refreshNodes(使include的更改生效)

rm hadoop-1.1.2/conf/exclude

exclude主要是使一个datanode节点安全退役

删除tasktracker方式一:

vi /home/hadoop/hadoop-1.1.2/conf/exclude

增加待删除的节点host226

在JobTracker上面执行:

hadoop mradmin -refreshNodes

vi hadoop-1.1.2/conf/slaves (去掉host226)

vi hadoop-1.1.2/conf/include(去掉host226)

hadoop mradmin -refreshNodes(使include的更改生效)

rm hadoop-1.1.2/conf/exclude

删除tasktracker方式二:

vi /home/hadoop/hadoop-1.1.2/conf/include

删除待删除的节点host226

在JobTracker上面执行:

hadoop mradmin -refreshNodes

vi hadoop-1.1.2/conf/slaves (去掉host226)

29 / 44

Nutch相关框架视频教程杨尚川281032878@

第十六讲

1、运行基准测试

hadoop jar

hadoop jar DFSCIOTest -write -nrFiles 12-fileSize 100000-resFile test

hadoop jar DFSCIOTest -read -nrFiles 12 -fileSize 100000-resFile test

hadoop jar DFSCIOTest -clear

30 / 44

Nutch相关框架视频教程杨尚川281032878@

第十七讲

Ganglia主要是用来监控大规模分布式系统的性能,如:cpu 、内存、硬盘、负载、网络流量等。Ganglia支持通过浏览器访问,强大的图表展示方式很容易直观地了解每个节点以及整个集群的工作状态,对集群运行参数调整、提高系统整体资源利用率起到重要作用。

1、 配置服务端

host6作为服务端:

创建用户和组:

addgroup ganglia

adduser --ingroup ganglia ganglia

安装:

apt-get install gmetad

apt-get install rrdtool

apt-get install ganglia-webfrontend

apt-get install ganglia-monitor

配置gmond:

vi /etc/ganglia/

先找到setuid = yes,改成setuid =no;

在找到cluster块中的name,改成name =”hadoop-cluster”;

配置gmetad:

vi /etc/ganglia/

在这个配置文件中增加datasource,即增加以下内容:

data_source “hadoop-cluster” 10 host2 host6 host8

gridname "Hadoop"

指定web文件夹:

ln -s /usr/share/ganglia-webfrontend /var/www/ganglia

指定主机名:

vi /etc/apache2/

添加: ServerName host6

重启服务:

/etc/init.d/gmetad restart

/etc/init.d/ganglia-monitor restart

/etc/init.d/apache2 restart

2、 配置客户端

在host2和host8上安装数据收集服务:

创建用户和组:

addgroup ganglia

adduser --ingroup ganglia ganglia

安装:

31 / 44

Nutch相关框架视频教程杨尚川281032878@

apt-get install ganglia-monitor

配置gmond:

vi /etc/ganglia/

先找到setuid = yes,改成setuid =no;

在找到cluster块中的name,改成name =”hadoop-cluster”;

重启服务:

/etc/init.d/ganglia-monitor restart

3、 访问页面

host6/ganglia

如果页面中的Choose a Source有unspecified,重启gmetad即可:

/etc/init.d/gmetad restart

4、 集成hadoop

vi conf/ties

设置内容为:

# 大于0.20以后的版本用ganglia31

*.=aSink31

*.=10

# default for supportsparse is false

*.tsparse=true

*.=t=zero,pUsedM=both

*.=sBlocked=70,pUsedM=40

#组播地址239.2.11.71

s=239.2.11.71:8649

s=239.2.11.71:8649

s=239.2.11.71:8649

s=239.2.11.71:8649

s=239.2.11.71:8649

s=239.2.11.71:8649

=aContext31

=10

s=239.2.11.71:8649

=aContext31

=10

s=239.2.11.71:8649

=aContext31

=10

s=239.2.11.71:8649

把配置文件复制到集群其他节点,重启集群。

32 / 44

Nutch相关框架视频教程杨尚川281032878@

第十八讲

1、准备压缩数据

从dmoz下载url库

wget /rdf/

gunzip

准备nutch1.6

svn co /repos/asf/nutch/tags/release-1.6/

cp release-1.6/conf/te release-1.6/conf/

vi release-1.6/conf/

增加:

nutch

cd release-1.6

ant

cd ..

使用DmozParser把dmoz的URL库解析为文本

release-1.6/runtime/local/bin/nutch rser .u8>urls &

将url文本内容放到HDFS上面

hadoop fs -put urls urls

2、以不同压缩方法注入URL

进入nutch主目录

cd release-1.6

以未压缩的方式注入URL

runtime/deploy/bin/nutchinject data_no_compress/crawldb urls

以默认压缩的方式注入URL

vi conf/

BLOCK

ss

true

33 / 44

Nutch相关框架视频教程杨尚川281032878@

true

tCodec

tCodec

ant

runtime/deploy/bin/nutchinject data_default_compress/crawldb urls

以Gzip压缩的方式注入URL

vi conf/

BLOCK

ss

true

true

dec

dec

ant

runtime/deploy/bin/nutchinject data_gzip_compress/crawldb urls

以BZip2的压缩方式注入URL

vi conf/

BLOCK

34 / 44

Nutch相关框架视频教程杨尚川281032878@

ss

true

true

2Codec

2Codec

ant

runtime/deploy/bin/nutchinject data_bzip2_compress/crawldb urls

以Snappy的方式注入URL

vi conf/

BLOCK

ss

true

true

Codec

Codec

ant

runtime/deploy/bin/nutchinject data_snappy_compress/crawldb urls

35 / 44

Nutch相关框架视频教程杨尚川281032878@

压缩类型的影响

块大小的影响

3、Hadoop配置Snappy压缩

下载解压:

wget /files/

tar -xzvf

cd snappy-1.0.5

编译:

./configure

make

make install

复制库文件:

scp /usr/local/lib/libsnappy* host2:/home/hadoop/hadoop-1.1.2/lib/native/Linux-amd64-64/

scp /usr/local/lib/libsnappy* host6:/home/hadoop/hadoop-1.1.2/lib/native/Linux-amd64-64/

scp /usr/local/lib/libsnappy* host8:/home/hadoop/hadoop-1.1.2/lib/native/Linux-amd64-64/

在每一台集群机器上面修改环境变量:

vi /home/hadoop/.bashrc

追加:

export LD_LIBRARY_PATH=/home/hadoop/hadoop-1.1.2/lib/native/Linux-amd64-64

36 / 44

Nutch相关框架视频教程杨尚川281032878@

第十九讲

1、Ganglia以组播方式监控同一个网段中的多个集群

vi /etc/ganglia/

data_source "cluster1" 10 host2

data_source "cluster2" 10 host6

data_source "cluster3" 10 host8

/etc/init.d/gmetad restart

下面要分别指定节点使用的端口:

cluster1:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "cluster1"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定端口:

udp_send_channel {

mcast_join = 239.2.11.71

port = 8661

ttl = 1

}

udp_recv_channel {

mcast_join = 239.2.11.71

port = 8661

bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

cluster2:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "cluster2"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

37 / 44

Nutch相关框架视频教程杨尚川281032878@

}

指定端口:

udp_send_channel {

mcast_join = 239.2.11.71

port = 8662

ttl = 1

}

udp_recv_channel {

mcast_join = 239.2.11.71

port = 8662

bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

cluster3:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "cluster3"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定端口:

udp_send_channel {

mcast_join = 239.2.11.71

port = 8663

ttl = 1

}

udp_recv_channel {

mcast_join = 239.2.11.71

port = 8663

bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

2、Ganglia以单播方式监控同一个网段中的多个集群

vi /etc/ganglia/

data_source "cluster1" 10 host2

data_source "cluster2" 10 host6

data_source "cluster3" 10 host8

38 / 44

Nutch相关框架视频教程杨尚川281032878@

/etc/init.d/gmetad restart

cluster1:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "cluster1"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定接收数据的节点:

udp_send_channel {

# mcast_join = 239.2.11.71

host = host2

port = 8649

ttl = 1

}

udp_recv_channel {

# mcast_join = 239.2.11.71

port = 8649

# bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

cluster2:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "cluster2"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定接收数据的节点:

udp_send_channel {

# mcast_join = 239.2.11.71

host = host6

port = 8649

ttl = 1

}

udp_recv_channel {

# mcast_join = 239.2.11.71

39 / 44

Nutch相关框架视频教程杨尚川281032878@

port = 8649

# bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

cluster3:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "cluster3"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定接收数据的节点:

udp_send_channel {

# mcast_join = 239.2.11.71

host = host8

port = 8649

ttl = 1

}

udp_recv_channel {

# mcast_join = 239.2.11.71

port = 8649

# bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

3、Ganglia监控不同网段中的多个集群

不同网段中的主机如果属于同一个集群,则无法使用ganglia的多播配置方法,必须使用单播。

下面把host226加入cluster1:

在host226上安装数据收集服务:

创建用户和组:

addgroup ganglia

adduser --ingroup ganglia ganglia

安装:

apt-get install ganglia-monitor

配置gmond:

vi /etc/ganglia/

先找到setuid = yes,改成setuid =no;

在找到cluster块中的name,改成name =”cluster1”;

40 / 44

Nutch相关框架视频教程杨尚川281032878@

指定端口(要注意刚才第一步演示组播的时候已经把UDP端口改为8661):

udp_send_channel {

mcast_join = 239.2.11.71

port = 8661

ttl = 1

}

udp_recv_channel {

mcast_join = 239.2.11.71

port = 8661

bind = 239.2.11.71

}

重启服务:

/etc/init.d/ganglia-monitor restart

41 / 44

Nutch相关框架视频教程杨尚川281032878@

第二十讲

1、Ganglia以单播方式监控跨多个网段的单一集群

vi /etc/ganglia/

data_source "hadoop-cluster" 10 host6

/etc/init.d/gmetad restart

在集群的所有节点中指定以下配置:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "hadoop-cluster"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定接收数据的节点:

udp_send_channel {

# mcast_join = 239.2.11.71

host = host6

port = 8649

ttl = 1

}

udp_recv_channel {

# mcast_join = 239.2.11.71

port = 8649

# bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

2、配置Hadoop集群使用单播地址

vi conf/ties

设置内容为:

# 大于0.20以后的版本用ganglia31

*.=aSink31

*.=10

# default for supportsparse is false

*.tsparse=true

*.=t=zero,pUsedM=both

42 / 44

Nutch相关框架视频教程杨尚川281032878@

*.=sBlocked=70,pUsedM=40

s=host6

s=host6

s=host6

s=host6

s=host6

s=host6

=aContext31

=10

s=host6

=aContext31

=10

s=host6

=aContext31

=10

s=host6

把配置文件复制到集群其他节点,重启集群。

3、扩展集群,节点分别位于3个不同网段

将host226重新加入集群,并新增host138

在host6和host8的include文件中加入host226和host138

在host6和host8的slaves文件中加入host226和host138

在新增的节点host138上面执行:

指定主机名

vi /etc/hostname

指定主机名到IP地址的映射

vi /etc/hosts

增加用户和组

addgroup hadoop

adduser --ingroup hadoop hadoop

更改临时目录权限

chmod 777 /tmp

在host2和host8 上面配置对host138的SSH登陆:

ssh-copy-id -i .ssh/id_ hadoop@host138

在host2上将hadoop文件复制到host138:

scp -r /home/hadoop/hadoop-1.1.2 hadoop@host138:/home/hadoop/hadoop-1.1.2

如果集群已经在运行,则在host226和host138上面执行以下命令以动态增加节点:

start datanode

start tasktracker

43 / 44

Nutch相关框架视频教程杨尚川281032878@

4、配置host138

在host138上安装数据收集服务:

创建用户和组:

addgroup ganglia

adduser --ingroup ganglia ganglia

安装:

apt-get install ganglia-monitor

配置gmond:

vi /etc/ganglia/

指定集群名称:

cluster {

name = "hadoop-cluster"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

指定接收数据的节点:

udp_send_channel {

# mcast_join = 239.2.11.71

host = host6

port = 8649

ttl = 1

}

udp_recv_channel {

# mcast_join = 239.2.11.71

port = 8649

# bind = 239.2.11.71

}

/etc/init.d/ganglia-monitor restart

44 / 44

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689200810a220103.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信