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/文件里的所有
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/ 16 / 44 Nutch相关框架视频教程杨尚川281032878@ vi conf/ vi conf/ 格式化名称节点并启动集群 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/ vi conf/ vi conf/ 格式化名称节点并启动集群 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/ vi conf/ vi conf/ 23 / 44 Nutch相关框架视频教程杨尚川281032878@ 复制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/ scp conf/ host6:/home/hadoop/hadoop-1.1.2/conf/ scp conf/ host8:/home/hadoop/hadoop-1.1.2/conf/ 指定JobTracker为host8: vi conf/ scp conf/ host6:/home/hadoop/hadoop-1.1.2/conf/ scp conf/ host8:/home/hadoop/hadoop-1.1.2/conf/ vi conf/ 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、启用回收站 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/ 加入集群节点 vi /home/hadoop/hadoop-1.1.2/conf/include JobTracker: viconf/ 加入集群节点 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/ 增加: 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/ 33 / 44 Nutch相关框架视频教程杨尚川281032878@ ant runtime/deploy/bin/nutchinject data_default_compress/crawldb urls 以Gzip压缩的方式注入URL vi conf/ ant runtime/deploy/bin/nutchinject data_gzip_compress/crawldb urls 以BZip2的压缩方式注入URL vi conf/ 34 / 44 Nutch相关框架视频教程杨尚川281032878@ ant runtime/deploy/bin/nutchinject data_bzip2_compress/crawldb urls 以Snappy的方式注入URL vi conf/ 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条)