欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Nutch相關框架視頻教程--說明

系統 1733 0

PDF文檔:

Nutch大數據相關框架講義.pdf

Nutch1.7二次開發培訓講義.pdf

Nutch1.7二次開發培訓講義之騰訊微博抓取分析

Nutch公開課從搜索引擎到網絡爬蟲

?

=============================================================

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命令把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

svn?co? https://svn.apache.org/repos/asf/nutch/tags/release-1.6/

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/20130325042858?data/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/20130325042858?data/segments/20130325042858_dump?-nofetch??-nogenerate?-noparse?-noparsedata??–noparsetext

crawl_parse:

bin/nutch?readseg?-dump?data/segments/20130325042858?data/segments/20130325042858_dump?-nofetch??-nogenerate?-nocontent?–noparsedata??–noparsetext

parse_data:

bin/nutch?readseg?-dump?data/segments/20130325042858?data/segments/20130325042858_dump?-nofetch??-nogenerate?-nocontent?-noparse??–noparsetext

parse_text:

bin/nutch?readseg?-dump?data/segments/20130325042858?data/segments/20130325042858_dump?-nofetch??-nogenerate?-nocontent?-noparse??-noparsedata

全部:

bin/nutch?readseg?-dump?data/segments/20130325042858?data/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

?

?

?

?

?

?

?

?

?

?

?

?

?

第四講

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

?

?

?

?

?

?

?

第五講

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?-webgraphdb?data2/webgraphdb

有相同inlinks的 URL ,只輸出 topn條

bin/nutch?nodedumper?-inlinks?-output??inlinks?-topn?1?-webgraphdb?data2/webgraphdb

有相同 out links的 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?-webgraphdb?data2/webgraphdb?

計算 URL 分值

bin/nutch??linkrank??-webgraphdb??data2/webgraphdb?

再次查看分值

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

?

?

?

?

?

?

?

第六講

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

?

?

?

?

?

?

?

?

第七講

1、indexchecker

bin/nutch??indexchecker??http://www.163.com

2、安裝配置SOLR3.6.2

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文件里的所有<str?name="df">text</str> 都替換為 <str?name="df">content</str>

3、運行SOLR并提交索引

啟動 SOLR 服務器
?java?-jar?start.jar?&

Web 界面

? http://host2:8983 ?

提交索引

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

4、使用LUKE工具查看索引

5、給SOLR3.6.2配置分詞器mmseg4j

wget? http://mmseg4j.googlecode.com/files/mmseg4j-1.8.5.zip

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 文件中 所有的
??<tokenizer?class="solr.WhitespaceTokenizerFactory"/>
??
??<tokenizer?class="solr.StandardTokenizerFactory"/>
?? 替換為
??<tokenizer?class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory"?mode="complex"/>

?

?

?

?

?

?

?

?

?

?

第八講

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?name="_version_"?type="long"?indexed="true"?stored="true"/>

3、給SOLR4.2配置分詞器mmseg4j

wget?https://mmseg4j.googlecode.com/files/mmseg4j-1.9.1.v20130120-SNAPSHOT.zip

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 界面

? http://host2:8983 ?

提交索引

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

?

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?to?set?permissions?of?path,找到 689 行,把 throw?new?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單機本地模式

wget? http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz

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運行環境

wget? http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz

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命令

?

?

?

?

?

?

?

?

?

?

?

第十一講

1、配置Cygwin支持無密碼SSH登陸

安裝SSH

默認的 Cygwin 沒有安裝 ssh ,所以重新運行 http://www.cygwin.com/setup.exe

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_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?conf/core-site.xml

?

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

?

vi?conf/hdfs-site.xml

?

<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>

格式化名稱節點并啟動集群

hadoop?namenode?-format

啟動集群并查看WEB管理界面

start-all.sh

訪問? http://localhost:50030 ?可以查看? JobTracker? 的運行狀態

訪問? http://localhost:50060 ?可以查看? TaskTracker? 的運行狀態

訪問? http://localhost:50070 ?可以查看? NameNode? 以及整個分布式文件系統的狀態,瀏覽分布式文件系統中的文件以及? log?

停止集群

stop-all.sh 停止集群

3、?執行wordcount命令

hadoop??jar??hadoop-0.20.2-examples.jar??wordcount??input??output

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

第十二講

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?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/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?namenode?-format

啟動集群并查看WEB管理界面

start-all.sh

訪問? http://localhost:50030 ?可以查看? JobTracker? 的運行狀態

訪問? http://localhost:50060 ?可以查看? TaskTracker? 的運行狀態

訪問? http://localhost:50070 ?可以查看? NameNode? 以及整個分布式文件系統的狀態,瀏覽分布式文件系統中的文件以及? log?

停止集群

stop-all.sh 停止集群

?

?

?

?

?

?

?

?

?

?

?

?

?

第十三講

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

ssh?host6

ssh?host8

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

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

?

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>

?

?

?

?

?

?

?

?

第十四講

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_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的最后面

?

?

第十五講

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

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

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

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

第十六講

1、運行基準測試

hadoop?jar?hadoop-test-1.1.2.jar

?

hadoop?jar?hadoop-test-1.1.2.jar?DFSCIOTest?-write?-nrFiles?12?-fileSize?100000?-resFile?test

hadoop?jar?hadoop-test-1.1.2.jar?DFSCIOTest?-read?-nrFiles?12?-fileSize?100000?-resFile?test

hadoop?jar?hadoop-test-1.1.2.jar?DFSCIOTest?-clear

?

?

?

?

?

?

?

?

?

?

?

第十七講

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/gmond.conf

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

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

配置gmetad:

vi?/etc/ganglia/gmetad.conf

在這個配置文件中增加 datasource ,即增加以下內容:

data_source??“hadoop-cluster”??10??host2??host6??host8

gridname??"Hadoop"

指定 web 文件夾:

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

指定主機名:

vi?/etc/apache2/apache2.conf

添加: ?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

安裝:

apt-get??install???ganglia-monitor

配置gmond:

vi?/etc/ganglia/gmond.conf

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

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

重啟服務:

/etc/init.d/ganglia-monitor?restart

3、?訪問頁面

http://host6/ganglia

如果頁面中的 Choose?a?Source unspecified, ?重啟gmetad即可:

/etc/init.d/gmetad??restart

4、?集成hadoop

vi?conf/hadoop-metrics2.properties

設置內容為:

??#? 大于 0.20 以后的版本用 ganglia31??

*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
??*.sink.ganglia.period=10
??#?default?for?supportsparse?is?false
??*.sink.ganglia.supportsparse=true
?*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
?*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
??# 組播地址 239.2.11.71

??namenode.sink.ganglia.servers=239.2.11.71:8649
??datanode.sink.ganglia.servers=239.2.11.71:8649
??jobtracker.sink.ganglia.servers=239.2.11.71:8649
??tasktracker.sink.ganglia.servers=239.2.11.71:8649
??maptask.sink.ganglia.servers=239.2.11.71:8649
??reducetask.sink.ganglia.servers=239.2.11.71:8649
??dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
??dfs.period=10
??dfs.servers=239.2.11.71:8649
??mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
??mapred.period=10
??mapred.servers=239.2.11.71:8649
??jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
??jvm.period=10
??jvm.servers=239.2.11.71:8649

?

把配置文件復制到集群其他節點,重啟集群。

第十八講

1、準備壓縮數據

dmoz 下載 url

wget??http://rdf.dmoz.org/rdf/content.rdf.u8.gz

gunzip??content.rdf.u8.gz

準備 nutch1.6

svn??co?? https://svn.apache.org/repos/asf/nutch/tags/release-1.6/

cp?release-1.6/conf/nutch-site.xml.template?release-1.6/conf/nutch-site.xml

vi?release-1.6/conf/nutch-site.xml

增加:

<property>

??<name>http.agent.name</name>

??<value>nutch</value>

</property>

cd?release-1.6

ant

cd?..

使用DmozParser把 dmoz URL 庫解析為文本

release-1.6/runtime/local/bin/nutch?org.apache.nutch.tools.DmozParser??content.rdf.u8??>??urls?&

url 文本內容放到 HDFS 上面

hadoop??fs??-put??urls??urls

2、以不同壓縮方法注入URL

進入 nutch 主目錄

cd??release-1.6

以未壓縮的方式注入 URL

runtime/deploy/bin/nutch??inject??data_no_compress/crawldb??urls

?

以默認壓縮的方式注入 URL

vi?conf/nutch-site.xml

??<property>

????<name>mapred.output.compression.type</name>

????<value>BLOCK</value>

??</property>

??<property>

????<name>mapred.output.compress</name>

????<value>true</value>

??</property>

????<property>

????<name>mapred.compress.map.output</name>

????<value>true</value>

??</property>

??<property>

????<name>mapred.map.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.DefaultCodec</value>

??</property>

??<property>

????<name>mapred.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.DefaultCodec</value>

??????</property>

ant

runtime/deploy/bin/nutch??inject??data_default_compress/crawldb??urls

?

以Gzip壓縮的方式注入 URL

vi?conf/nutch-site.xml

??<property>

????<name>mapred.output.compression.type</name>

????<value>BLOCK</value>

??</property>

??<property>

????<name>mapred.output.compress</name>

????<value>true</value>

??</property>

????<property>

????<name>mapred.compress.map.output</name>

????<value>true</value>

??</property>

??<property>

????<name>mapred.map.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.GzipCodec</value>

??</property>

??<property>

????<name>mapred.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.GzipCodec</value>

??????</property>

ant

runtime/deploy/bin/nutch??inject??data_gzip_compress/crawldb??urls

?

以BZip2的壓縮方式注入 URL

vi?conf/nutch-site.xml

??<property>

????<name>mapred.output.compression.type</name>

????<value>BLOCK</value>

??</property>

??<property>

????<name>mapred.output.compress</name>

????<value>true</value>

??</property>

????<property>

????<name>mapred.compress.map.output</name>

????<value>true</value>

??</property>

??<property>

????<name>mapred.map.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.BZip2Codec</value>

??</property>

??<property>

????<name>mapred.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.BZip2Codec</value>

??????</property>

ant

runtime/deploy/bin/nutch??inject??data_bzip2_compress/crawldb??urls

?

S nappy的方式注入 URL

vi?conf/nutch-site.xml

??<property>

????<name>mapred.output.compression.type</name>

????<value>BLOCK</value>

??</property>

??<property>

????<name>mapred.output.compress</name>

????<value>true</value>

??</property>

????<property>

????<name>mapred.compress.map.output</name>

????<value>true</value>

??</property>

??<property>

????<name>mapred.map.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.SnappyCodec</value>

??</property>

??<property>

????<name>mapred.output.compression.codec</name>

????<value>org.apache.hadoop.io.compress.SnappyCodec</value>

??????</property>

ant

runtime/deploy/bin/nutch??inject??data_snappy_compress/crawldb??urls

壓縮類型的影響

塊大小的影響

3、Hadoop配置Snappy壓縮

下載解壓:

wget?? https://snappy.googlecode.com/files/snappy-1.1.0.tar.gz

tar??-xzvf??snappy-1.1.0.tar.gz

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

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

第十九講

1、Ganglia以組播方式監控同一個網段中的多個集群

vi??/etc/ganglia/gmetad.conf?
data_source?"cluster1"???10??host2?
data_source?"cluster2"???10??host6?
data_source?"cluster3"???10??host8

?

/etc/init.d/gmetad?restart

?

下面要分別指定節點使用的端口:

cluster1:

vi?/etc/ganglia/gmond.conf

指定集群名稱:

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/gmond.conf

指定集群名稱:

cluster?{
??name?=?"cluster2"
??owner?=?"unspecified"
??latlong?=?"unspecified"
??url?=?"unspecified"
}

指定端口:

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/gmond.conf

指定集群名稱:

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/gmetad.conf?
data_source?"cluster1"???10??host2?
data_source?"cluster2"???10??host6?
data_source?"cluster3"???10??host8

?

/etc/init.d/gmetad?restart

?

cluster1:

vi?/etc/ganglia/gmond.conf

指定集群名稱:

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/gmond.conf

指定集群名稱:

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

??port?=?8649

??#?bind?=?239.2.11.71

}?

/etc/init.d/ganglia-monitor?restart

?

?

cluster3:

vi?/etc/ganglia/gmond.conf

指定集群名稱:

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/gmond.conf

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

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

指定端口(要注意剛才第一步演示組播的時候已經把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

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

第二十講

1、Ganglia以單播方式監控跨多個網段的單一集群

vi??/etc/ganglia/gmetad.conf?
data_source?"hadoop-cluster"???10??host6?

?

/etc/init.d/gmetad?restart

?

在集群的所有節點中指定以下配置:

vi?/etc/ganglia/gmond.conf

指定集群名稱:

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/hadoop-metrics2.properties

設置內容為:

??#? 大于 0.20 以后的版本用 ganglia31??

*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
??*.sink.ganglia.period=10
??#?default?for?supportsparse?is?false
??*.sink.ganglia.supportsparse=true
?*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
?*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40

??namenode.sink.ganglia.servers=host6
??datanode.sink.ganglia.servers=?host6
??jobtracker.sink.ganglia.servers=?host6
??tasktracker.sink.ganglia.servers=?host6
??maptask.sink.ganglia.servers=?host6
??reducetask.sink.ganglia.servers=?host6
??dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
??dfs.period=10
??dfs.servers=?host6
??mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
??mapred.period=10
??mapred.servers=?host6
??jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
??jvm.period=10
??jvm.servers=?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_rsa.pub??hadoop@host138?

host2 上將 hadoop 文件復制到 host138

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

?

如果集群已經在運行,則在 host226 host138 上面執行以下命令以動態增加節點:

hadoop-daemon.sh??start??datanode

hadoop-daemon.sh??start??tasktracker

4、配置host138

host138 上安裝數據收集服務:

創建用戶和組:

addgroup??ganglia

adduser??--ingroup??ganglia??ganglia

安裝:

apt-get??install???ganglia-monitor

配置gmond:

vi?/etc/ganglia/gmond.conf

指定集群名稱:

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

Nutch相關框架視頻教程--說明


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本一区二区三区四区高清视频 | 性欧美高清极品猛交 | 国产欧美精品一区二区三区 | 欧美怡红院 | av电影在线网站 | 亚洲国产一区二区三区四区 | 天天做天天爱夜夜爽女人爽宅 | 奇米奇米777 | 精品一区二区三区免费视频 | 午夜三级影院 | 国产高清在线观看av | 99久久免费费视频在线观看 | 久久99国产精品视频 | 国产精品123区 | 久久精品视频16 | 国产精品成人自拍 | 久草2 | 岛国一区 | 日韩免费黄色片 | 国产91网 | 狠狠躁夜夜躁人人爽天天miya | 亚洲视频免费观看 | 久草免费在线视频 | 国产精品极品美女自在线看免费一区二区 | 久草综合网 | 久久综合九色综合91 | 69午夜 | 好吊妞gao988在线播放 | 日韩av免费看 | 欧美日韩中文在线观看 | 91视频免费观看高清观看完整 | 日韩在线第一 | 毛片大全免费看 | 国产成人精品影院狼色在线 | 亚洲AV成人天堂影院 | 一级@片| 欧美9999| 99亚洲精品色情无码久久 | 午夜婷婷网 | 色99色| 日韩a无吗一区二区三区 |