久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在 Windows 平臺(tái)下部署 Hadoop 開(kāi)發(fā)環(huán)境 - savechina的專欄 - ...

 墨香居BOOK 2011-05-24
在 Windows 平臺(tái)下部署 Hadoop 開(kāi)發(fā)環(huán)境

魏仁言 2010.6.8
 
Hadoop簡(jiǎn)介
Hadoop 是一個(gè)開(kāi)源的可運(yùn)行于大規(guī)模集群上的分布式并行編程框架,,由于分布式存儲(chǔ)對(duì)于分布式編程來(lái)說(shuō)是必不可少的,,這個(gè)框架中還包含了一個(gè)分布式文件系統(tǒng) HDFS( Hadoop Distributed File System ) ,。也許到目前為止,,Hadoop 還不是那么廣為人知,其最新的版本號(hào)也僅僅是 0.20 ,,距離 1.0 似乎都還有很長(zhǎng)的一段距離,,但提及 Hadoop 一脈相承的另外兩個(gè)開(kāi)源項(xiàng)目 Nutch 和 Lucene ( 三者的創(chuàng)始人都是 Doug Cutting ), 那絕對(duì)是大名鼎鼎。Lucene 是一個(gè)用 Java 開(kāi)發(fā)的開(kāi)源高性能全文檢索工具包,,它不是一個(gè)完整的應(yīng)用程序,,而是一套簡(jiǎn)單易用的 API 。在全世界范圍內(nèi),,已有無(wú)數(shù)的軟件系統(tǒng),,Web 網(wǎng)站基于 Lucene 實(shí)現(xiàn)了全文檢索功能,后來(lái) Doug Cutting 又開(kāi)創(chuàng)了第一個(gè)開(kāi)源的 Web 搜索引擎(http://www. ) Nutch, 它在 Lucene 的基礎(chǔ)上增加了網(wǎng)絡(luò)爬蟲(chóng)和一些和 Web 相關(guān)的功能,,一些解析各類文檔格式的插件等,,此外,Nutch 中還包含了一個(gè)分布式文件系統(tǒng)用于存儲(chǔ)數(shù)據(jù),。從 Nutch 0.8.0 版本之后,,Doug Cutting 把 Nutch 中的分布式文件系統(tǒng)以及實(shí)現(xiàn) MapReduce 算法的代碼獨(dú)立出來(lái)形成了一個(gè)新的開(kāi)源項(xiàng) Hadoop ,。Nutch 也演化為基于 Lucene 全文檢索以及 Hadoop 分布式計(jì)算平臺(tái)的一個(gè)開(kāi)源搜索引擎。
基于 Hadoop, 你可以輕松地編寫(xiě)可處理海量數(shù)據(jù)的分布式并行程序,,并將其運(yùn)行于由成百上千個(gè)結(jié)點(diǎn)組成的大規(guī)模計(jì)算機(jī)集群上,。從目前的情況來(lái)看,Hadoop 注定會(huì)有一個(gè)輝煌的未來(lái):" 云計(jì)算" 是目前灸手可熱的技術(shù)名詞,,全球各大 IT 公司都在投資和推廣這種新一代的計(jì)算模式,,而 Hadoop 又被其中幾家主要的公司用作其" 云計(jì)算" 環(huán)境中的重要基礎(chǔ)軟件,如: 雅虎正在借助 Hadoop 開(kāi)源平臺(tái)的力量對(duì)抗 Google, 除了資助 Hadoop 開(kāi)發(fā)團(tuán)隊(duì)外,,還在開(kāi)發(fā)基于 Hadoop 的開(kāi)源項(xiàng)目 Pig, 這是一個(gè)專注于海量數(shù)據(jù)集分析的分布式計(jì)算程序,。Amazon 公司基于 Hadoop 推出了 Amazon S3 ( Amazon Simple Storage Service ) ,提供可靠,,快速,,可擴(kuò)展的網(wǎng)絡(luò)存儲(chǔ)服務(wù),以及一個(gè)商用的云計(jì)算平臺(tái) Amazon EC2 ( Amazon Elastic Compute Cloud ) ,。在 IBM 公司的云計(jì)算項(xiàng)目--" 藍(lán)云計(jì)劃" 中,,Hadoop 也是其中重要的基礎(chǔ)軟件。Google 正在跟IBM 合作,,共同推廣基于 Hadoop 的云計(jì)算,。
 
 
準(zhǔn)備:
1.       Java 1.6 以上
2.       Eclipse Europa 3.3.2
3.       Cygwin
4.       Hadoop-0.20.2
 
 
1.       安裝 Cygwin
  Hadoop 主要是在 Linux 平臺(tái)下運(yùn)行的,如果想在 Windows 平臺(tái)下運(yùn)行,,你需要安裝 Cygwin 才能運(yùn)行,, Hadoop 腳本。
a.       下載 Cygwin 安裝包 (here .)
b.       運(yùn)行安裝包,,你將要看到下圖,。
 
 
c.       安裝時(shí)一定要確認(rèn)選擇“ openssh ”安裝包,。如下圖:
 
 
d.       完成安裝
 
 
2.       安裝 SSH 守護(hù)進(jìn)程
Hadoop 分布式運(yùn)行需要 SSH ,。所以這一部分介紹在 Cygwin 下配置 SSH 守護(hù)進(jìn)程。
a.       打開(kāi) Cygwin 命令環(huán)境
b.       執(zhí)行以下命令
        rywei@RYWEI$ chmod +r /etc/group
        rywei@RYWEI$ chmod +r /etc/passwd
       
        rywei@RYWEI$ chmod +rwx /var
       rywei@RYWEI$ ssh-host-config
c.    ·   When asked if privilege separation should be used, answer no .
記著一定要答no, 否則用Hadoop-Ecliple Plugin 插件進(jìn)行開(kāi)發(fā)時(shí),,會(huì)提示你沒(méi)有權(quán)限操作文件,,不能寫(xiě)等錯(cuò)誤。(我因?yàn)檫@個(gè)問(wèn)題頭痛了好長(zhǎng)時(shí)間,,最后才找到是這里出現(xiàn)問(wèn)題的,。)
·   When asked if sshd should be installed as a service, answer yes .
·   When asked about the value of CYGWIN environment variable enter ntsec .
d.       配置完后,啟動(dòng) SSHD 守護(hù)進(jìn)程
運(yùn)行: n et start sshd 或者通過(guò) Windows 服務(wù),,啟動(dòng) CYGWINSSHD 服務(wù) .
想要停止服務(wù)運(yùn)行: n et stop sshd 就可以了
e.       生成密鑰
       
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
     f.        測(cè)試
最后運(yùn)行以下命令測(cè)試
 
ssh localhost
如果沒(méi)有問(wèn)題會(huì)提示以下內(nèi)容:
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 08:03:20:43:48:39:29:66:6e:c5:61:ba:77:b2:2f:55.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
rywei@localhost's password:
會(huì)提示輸入你機(jī)子的登錄密碼,,輸入無(wú)誤后,會(huì)出現(xiàn)文本圖形,,類似于歡迎的提示:
The Hippo says: Welcome to
如果你不想每次都要輸入密碼,,可以執(zhí)行以下命令即可
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 
 
3.    Hadoop 安裝配置
a. 從Hadoop 網(wǎng)站下載最新的安裝包( 當(dāng)前版本:hadoop-0.20.2)(here )
    b. 解壓hadoop-0.20.2 安裝包到你的主目錄(/home/username/)
   修改conf/hadoop-env.sh 文件,,將export JAVA_HOME 的值修改為你機(jī)上的jdk 安裝目錄,比如/cygdrive/d/tools/jdk1.6.0_03 ,,/cygdrive 是Cygwin 安裝成功后系統(tǒng)的根目錄 如果你的JDK 安裝在“C:\Program Files\Java\jdk1.6.0_20 ” ,,請(qǐng)用引號(hào)括住。
如:export JAVA_HOME='C:\Program Files\Java\jdk1.6.0_20'
c. 在Hadoop 主目錄內(nèi)創(chuàng)建logs 目錄,,用以存放Hadoop 日志信息
 
d. 配置Hadoop
 
Hadoop 可以用以下三種支持的模式中的一種啟動(dòng) Hadoop 集群:
•單機(jī)模式
•偽分布式模式
•完全分布式模式
 

單機(jī)模式的操作方法
默認(rèn)情況下,, Hadoop 被配置成以非分布式模式運(yùn)行的一個(gè)獨(dú)立 Java 進(jìn)程。這對(duì)調(diào)試非常有幫助,。
下面的實(shí)例將已解壓的 conf 目錄拷貝作為輸入,,查找并顯示匹配給定正則表達(dá)式的條目。輸出寫(xiě)入到指定的 output 目錄,。
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*
 
偽分布式模式的操作方法
Hadoop 可以在單節(jié)點(diǎn)上以所謂的偽分布式模式運(yùn)行,,此時(shí)每一個(gè) Hadoop 守護(hù)進(jìn)程都作為一個(gè)獨(dú)立的 Java 進(jìn)程運(yùn)行。
使用如下配置 :
conf/core-site.xml :
<configuration>
 
  <property>
 
    <name>fs.default.name</name>
 
    <value>hdfs://localhost:9000</value>
 
  </property>
 
</configuration>
 

conf/hdfs-site.xml :
<configuration>
 
  <property>
 
    <name>dfs.replication</name>
 
    <value>1</value>
 
  </property>
 
</configuration>
 

conf/mapred-site.xml :
<configuration>
 
  <property>
 
    <name>mapred.job.tracker</name>
 
    <value>localhost:9001</value>
 
  </property>
 
</configuration>
 
在 Cygwin 下 必須設(shè)置中間的暫存目錄,,否則會(huì)出錯(cuò)的
在mapred-site.xml中:
添加:
<property>
  <name>mapred.child.tmp</name>
  <value>/home/hadoop-0.20.1/temp</value>
</property>
注:我就是忘記設(shè)置這個(gè)參數(shù),,代碼總是不能成功運(yùn)行, 產(chǎn)生如下錯(cuò)誤:
10/05/04 09:15:50 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
10/05/04 09:15:50 INFO mapred.FileInputFormat: Total input paths to process : 4
10/05/04 09:15:51 INFO mapred.JobClient: Running job: job_201005040912_0002
10/05/04 09:15:52 INFO mapred.JobClient:  map 0% reduce 0%
10/05/04 09:15:58 INFO mapred.JobClient: Task Id : attempt_201005040912_0002_m_000006_0, Status : FAILED
java.io.FileNotFoundException: File C:/tmp/hadoop-SYSTEM/mapred/local/taskTracker/jobcache/job_201005040912_0002/attempt_201005040912_0002_m_000006_0/work/tmp does not exist.
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:420)
        at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:244)
        at org.apache.hadoop.mapred.TaskRunner.setupWorkDir(TaskRunner.java:520)
        at org.apache.hadoop.mapred.Child.main(Child.java:143)
 
10/05/04 09:16:03 INFO mapred.JobClient: Task Id : attempt_201005040912_0002_m_000006_1, Status : FAILED
java.io.FileNotFoundException: File C:/tmp/hadoop-SYSTEM/mapred/local/taskTracker/jobcache/job_201005040912_0002/attempt_201005040912_0002_m_000006_1/work/tmp does not exist.
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:420)
        at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:244)
        at org.apache.hadoop.mapred.TaskRunner.setupWorkDir(TaskRunner.java:520)
        at org.apache.hadoop.mapred.Child.main(Child.java:143)
 
4. 執(zhí)行
格式化一個(gè)新的分布式文件系統(tǒng):
$ bin/hadoop namenode -format
啟動(dòng) Hadoop 守護(hù)進(jìn)程:
$ bin/start-all.sh
Hadoop 守護(hù)進(jìn)程的日志寫(xiě)入到 ${HADOOP_LOG_DIR} 目錄 ( 默認(rèn)是 ${HADOOP_HOME}/logs ).
瀏覽 NameNode 和 JobTracker 的網(wǎng)絡(luò)接口,它們的地址默認(rèn)為:
•NameNode - http://localhost:50070/
•JobTracker - http://localhost:50030/
將輸入文件拷貝到分布式文件系統(tǒng):
$ bin/hadoop fs -put conf input
運(yùn)行發(fā)行版提供的示例程序:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
查看輸出文件:
將輸出文件從分布式文件系統(tǒng)拷貝到本地文件系統(tǒng)查看:
$ bin/hadoop fs -get output output
$ cat output/*
或者
在分布式文件系統(tǒng)上查看輸出文件:
$ bin/hadoop fs -cat output/*
完成全部操作后,,停止守護(hù)進(jìn)程:
$ bin/stop-all.sh
 
5. 安裝 Hadoop plugin
在Hadoop 根目錄里,,contrib\eclipse-plugin 文件夾下有,Hadoop 在Eclipse 的插件hadoop-0.20.2-eclipse-plugin.jar 。將其拷貝到Eclipse 的plugins 目錄下,。
啟動(dòng)Eclipse 后,,你將看到如下界面:
 
設(shè)置 Hadoop 主目錄
點(diǎn)擊 Eclipse 主菜單上 Windows->Preferences, 然后在左側(cè)選擇 Hadoop Home Directory, 設(shè)定你的 Hadoop 主目錄, 如圖一所示:
 
 
創(chuàng)立一個(gè) MapReduce Project
點(diǎn)擊 Eclipse 主菜單上 File->New->Project, 在彈出的對(duì)話框中選擇 MapReduce Project, 輸入 project name 如 wordcount,  然后點(diǎn)擊 Finish 即可。, 如圖所示:
 
此后,,你就可以象一個(gè)普通的 Eclipse Java project 那樣,,添加入 Java 類,比如你可以定義一個(gè) WordCount 類,。最簡(jiǎn)單的方法,,就是將在Hadoop 主目錄的src\example\ 下的WordCount 拷貝過(guò)來(lái)。
在 Eclipse 中運(yùn)行
如圖三所示,,設(shè)定程序的運(yùn)行參數(shù): 輸入目錄和輸出目錄之后,,你就可以在 Eclipse 中運(yùn)行 wordcount 程序了,當(dāng)然,,你也可以設(shè)定斷點(diǎn),,調(diào)試程序。
 
注:/user/rywei/test 和/user/rywei/test1 為HDFS 文件系統(tǒng)的路徑,。/user/rywei/tes 為輸入目錄, /user/rywei/test1 為執(zhí)行輸出目錄,。
在 Eclipse 設(shè)置 Hadoop Location
打開(kāi) Map/Reduce perspective, 在菜單內(nèi)選中 open perspective icon ( ), 選擇 "Other" 菜單, , 從 perspectives 列表選中 " Map/Reduce " .
在左側(cè) Project Explorer 內(nèi),, DFS Locations 內(nèi)可以查看 HDFS 文件系統(tǒng)內(nèi)的文件,,可以進(jìn)行新增,,刪除等操作。
 
 
•Location Name -- localhost
•Map/Reduce Master
•Host -- localhost
•Port -- 9001
•DFS Master
•Check "Use M/R Master Host"
•Port -- 9000
•User name -- User
注意:一定要設(shè)置Mapred.Child.Tmp 目錄,。例如:
Mapred.Child.Tmp=${HADOOPHOME}/temp
 
 

一切都設(shè)置完了,,可以點(diǎn)擊運(yùn)行. 運(yùn)行結(jié)果如下:
 
 

參考:
1.http://ebiquity./Tutorials/Hadoop/00%20-%20Intro.html
2. 用 Hadoop 進(jìn)行分布式并行編程 (http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html)
聲明:如需轉(zhuǎn)載請(qǐng)注明出處,謝謝,!
 
本文來(lái)自CSDN博客,,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/savechina/archive/2010/06/08/5656937.aspx

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多