精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hadoop2.2.0多節點分布式安裝及測試

開發 前端 分布式 Hadoop
眾所周知,hadoop在10月底release了最新版2.2。很多國內的技術同仁都馬上在網絡上推出了自己對新版hadoop的配置心得。

眾所周知,hadoop在10月底release了最新版2.2。很多國內的技術同仁都馬上在網絡上推出了自己對新版hadoop的配置心得。這其中主要分為兩類:

1.單節點配置

這個太簡單了,簡單到只要懂點英語,照著網上說的做就ok了。我這里不談這個,有興趣的童鞋可以自己去問度娘和谷哥~

2.多節點配置

這個就是我要重點說明的,老實說網絡上說的的確是多節點,但不是真正的分布式部署~ 我們為什么要用hadoop?因為hadoop是一個分布式系統基礎架構,我們可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。 如果只是多節點,但是程序還在一個節點運行,其它節點沒有參與程序運行活動。 那和你在網吧里,自己一個人看片子和其他人無交集有什么區別? 所以網上提供的都是多節點偽分布式的配置~

接下來我會貢獻出自己這幾天弄的一些心得,或許有人看了開頭覺得我寫的和網上那些差不多,但是真正的區別我會在之后列出來,就看誰有耐心看完我寫的東西啦~霍霍~

準備

我用的linux系統是ubuntu 12.04 LTS server版(就是沒有桌面顯示的版本)。 虛擬機用的是VMWare Workstation10,ssh客戶端是開源的putty,還有ftp客戶端軟件是cuteFTP(雖然可以在linux系統里用vim對文件進行編輯修改,但我覺得有客戶端直接在windows系統里修改文件比較方便和高效)。 tomcat版本是6.0.29,jdk版本是1.7.45。虛擬機里ubuntu的網絡設置我用的是UAT模式,也就是說和外部window系統的網絡配置是共享的,除了IP地址不一樣,其他都雷同。

安裝tomcat和jdk什么我就不用說了。還有初始的分辨率是600x800,需要重調我也不說了。至于安裝vsftpd和openssh,我更加不說了。度娘和谷哥都知道。

這里就列我弄的兩個ubuntu系統。hadoop里把主節點系統叫為master,從節點系統叫為slave。master只能有一 個,slave可以有許多個。就如一個老板可以有很多員工為他打工一樣。(當然在很多情況下,還會有個做備份的master,防止master出問題時 候,有個替補直接頂上)

為了行文方便,后面我就直接用master和slave稱呼這兩個。(網上都喜歡用三節點做例子,一個master兩個slave,我簡化了一下,就一個master和一個slave,反正都是以此類推的東西,搞簡單點)

我的系統原始信息:

  hostname IP address
master hadoop 192.168.72.130
slave hadoop1 192.168.72.128

hostname是自己改的,IP地址是你安裝完你的ubuntu后,電腦在UAT模式下自動生成的IP地址。請根據你自己情況記錄這些信息。還有hostname如何永久地改成hadoop和hadoop1,請問度娘和谷哥。

每個ubuntu里分別加入專為hadoop使用的帳號

命令:

addgroup hadoop adduser ingroup hadoop wujunshen

這個wujunshen是我在用VMWare安裝ubuntu時候,讓我自己設定的帳號名字,大家可以自行設定。但是hadoop這個用戶組名最好不要改。

有人會問 ubuntu里非root賬戶登錄后,輸入命令開頭不都要打sudo么?這個其實也可以設置,再次提醒請問度娘和谷哥。這里哥給個當年自己記錄的博文鏈接: http://darkranger.iteye.com/admin/blogs/768608

注意:兩個ubuntu的hadoop帳號名要一樣,不一樣就算你配置好了,測試時候也不成功的。我看了一下hadoop的代碼,它好像是在hadoop代碼里寫死了讀取帳號名的值。(shell不太會,只看了個大概) 有人說要在系統里設置%HADOOP_HOME%為你安裝hadoop的路徑,就可以帳號名不一樣了。 我沒試驗過,因為我覺得測試這個有點無聊了,或許《生活大爆炸》里Sheldon會這么做。:)

建立兩個系統ssh通信互相信任關系

要在兩個系統上每一個進行以下操作。(如果slave有很多個,這樣做是很浪費時間的,一般都要用個shell自動化腳本來建立信任關系。這里只是示例,麻煩各位手打或copy了。)

進入wujunshen帳號,輸入命令

ssh-keygen -t rsa -P "" cat .ssh/id_rsa.pub >>.ssh/authorized_keys (出現兩個問題,第一個問題回車就行,第二個輸入y回車,千萬不要直接回車,否則不會生成key)  

注意:如果出現錯誤:-bash: .ssh/authorized_keys: No such file or directory 這是由于新建好的用戶帳號,比如我這里是wujunshen這個帳號,默認沒有.ssh目錄,需要自己建立。

mkdir -p ~/.ssh

接下來還有一步,我用cuteFTP做的,覺得自己牛逼的可以用linux的拷貝粘貼命令搞。

在每個ubuntu下找到剛才生成的authorized_keys文件,我這里路徑是: /home/wujunshen/.ssh/authorized_keys

修改該文件,讓此文件包含生成的rsa字符串(有關RSA加密算法的由來,你還是可以去問度娘和谷哥,那是個傳奇的故事)和兩個ubuntu的hostname,比如我這里是:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEBNUjKbZQOQsc6iNawm5VxXk+Kx5MXS1A6ZX/xtAfAI3jurVTgNHz6T2exf/dHP3aoaK49vl6EeMg4hZ7qwxldeERMXNBu5m0y/JyRupX9RfHRjJyqSXRdJ1WjE2ySPtXdLNPjKDvzjf61dSP/iMXeemlZfZV2VNqJiLTlpG3OvjraICUXCXMMB4h72Qm59iIHZ4iRI2v5VMmp+CeGEqHba0O8UUkpSpqC8vZCFJKL+IfCFups9OGrKIT854/Xc+vPSd89jA3RLubJThE/F/8QczqSBHXYrLeUMir3lFEPqLe7U4jk5n83/3fAsagaUyXBCWGm7LanLgXsqMfKBxD wujunshen@hadoop1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+umV0w7qcQyHJzfqRc+mHE+eCWw8Ns/uU05CF4fEJnGkys+0Itwsh+edwt8K4oHZ8rK0THO1ip2oNXHzVJ8aJ7rpeI19N0BubCahhGbVNqzgyGgvbnz3+xD/La47YNBzjHF4AxTu+Dj51vOp1yRaiTwhu93o9PP18x2Ai7aNQEap7pGpBwogbfSWDBvZNq9PJYinjzhnVqJ7bctJe+1ufme7bX+vyu1hrdtfpwXgW5GiXQ6uvYH6ExiTSWlLFMyDgD63APm1P2Hs1hlR1gNE3SC4q34mfExhoxY3JJgfbP0x2rt8PfdWk5Lzxtaylj85bmZi/9xDvXdoqjtSv4Mxb wujunshen@hadoop

保證每個ubuntu系統的authorized_keys文件都包含wujunshen@hadoop1和wujunshen@hadoop以及它們的rsa字符串.

然后在其中一個ubuntu上進行測試,比如我這里在master里輸入

ssh hadoop1  

去訪問slave,這樣就不需要輸入密碼就能訪問hadoop1,然后我輸入

ssh hadoop  

回到master。

結果如下:

wujunshen@hadoop:~$ ssh hadoop1 Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic i686) * Documentation:  https://help.ubuntu.com/ Last login: Wed Nov 27 19:29:55 2013 from hadoop wujunshen@hadoop1:~$ ssh hadoop Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic i686) * Documentation:  https://help.ubuntu.com/  Last login: Wed Nov 27 19:30:03 2013 from hadoop1 wujunshen@hadoop:~$

截圖:

enter image description here

注意:如果ssh hadoop或ssh hadoop1 出現錯誤: Host key verification failed

解決方法:到 /home/wujunshen/.ssh目錄下找到known_hosts文件,刪除known_hosts文件。命令

rm known_hosts  

#p#

安裝

去官網下載hadoop-2.2.0.tar.gz

然后在兩個ubuntu里進行以下操作。

解壓壓縮包在/home/wujunshen目錄下

命令:

tar zxf hadoop-2.2.0.tar.gz  

解開之后是個hadoop-2.2.0文件夾,改名為hadoop

命令:

mv hadoop-2.2.0 hadoop  

安裝結束。(安裝很簡單,但你要想用起來,接下來是重頭戲)

配置

以下操作,master和slave都是一樣的。

在/home/wujunshen/hadoop/etc/hadoop下找 hadoop-env.sh,修改此文件 找到export JAVA_HOME這一列,后面改成自己的jdk安裝目錄,比如我這里是/usr/lib/jdk1.7.0_45

改成

export JAVA_HOME=/usr/lib/jdk1.7.0_45  

在同一路徑下找 core-site.xml,修改它在 < configuration >中添加:

  1. <property> 
  2.  <name>hadoop.tmp.dir</name> 
  3.  <value>/home/wujunshen/hadoop/tmp/hadoop-${user.name}</value> 
  4.  <description>A base for other temporarydirectories.</description> 
  5.  </property> 
  6.  <property> 
  7.  <name>fs.default.name</name> 
  8.  <value>hdfs://192.168.72.130:8010</value> 
  9.  <description>The name of the default file system.  A URI whose 
  10.    scheme and authority determine the FileSystem implementation.  The 
  11.    uri's scheme determines the config property (fs.SCHEME.impl) naming 
  12.    the FileSystem implementation class. The uri's authority is used to 
  13.    determine the host, port, etc. for a filesystem.</description> 
  14. </property>   

注意

  1. /home/wujunshen/hadoop下缺省是沒有tmp文件夾的,要用命令: mkdir /home/wujunshen/hadoop/tmp創建
  2. hdfs://192.168.72.130:8010 里的IP地址就是master 的IP地址

同一路徑下修改 mapred-site.xml

因為缺省是沒有這個文件的,要用模板文件造一個,命令為:

  1. mv /home/wujunshen/hadoop/etc/hadoop/mapred-site.xml.template /home/hduser/hadoop/etc/hadoop/mapred-site.xml   

在 < configuration >中添加:

  1. <property> 
  2. <name>mapred.job.tracker</name> 
  3. <value>192.168.72.130:54311</value> 
  4. <description>The host and port that the MapReduce job tracker runs 
  5.  at.  If "local", thenjobs are run in-process as a single map 
  6.  and reduce task. 
  7.  </description> 
  8.  </property> 
  9.  
  10. <property> 
  11. <name>mapred.map.tasks</name> 
  12. <value>10</value> 
  13. <description>As a rule of thumb, use 10x the number of slaves(i.e., number of tasktrackers).           
  14. </description> 
  15. </property> 
  16.  
  17. <property> 
  18. <name>mapred.reduce.tasks</name> 
  19. <value>2</value> 
  20. <description>As a rule of thumb, use 2x the number of slaveprocessors (i.e., number of tasktrackers). 
  21. </description> 
  22. </property> 

注意:< value >192.168.72.130:54311< /value >里的IP地址就是master 的IP地址

同一路徑下修改 hdfs-site.xml, 在 < configuration >中添加:

  1. <property> 
  2. <name>dfs.replication</name> 
  3. <value>1</value> 
  4. <description>Default block replication. 
  5.  Theactual number of replications can be specified when the file is created. 
  6.  Thedefault is used if replication is not specified in create time. 
  7.  </description> 
  8. </property>  

注意:< value >1< /value >里的數字1表明的是dfs文件備份個數, 如果你只有3個slave,但是你卻指定值為4,那么這是不會生效的,因為每個salve上只能存放一個備份文件。 如果你設置了100個slave,那么這個就寫100。 我這里slave就1個,就寫了1。 網上那些因為都是三節點,一個master,兩個slave,所以都寫2,但網上很少有人會說要根據實際slave的個數修改。

同一路徑下修改slaves文件 增加所有slaves的hostname。比如我這里slave就一個,hostname是hadoop1,所以只有一個hadoop1,該文件內容只為

  1. hadoop1   

運行

所有操作只需要在master運行即可。系統會自動登錄到slave上。

初次運行Hadoop的時候需要初始化Hadoop文件系統 ,在master上輸入命令

  1. cd /home/wujunshen/hadoop/bin 
  2. ./hdfs namenode -format   

執行成功,你會在日志中(倒數幾行)找到如下成功的提示信息:

  1. common.Storage: Storage directory /home/wujunshen/hadoop/tmp/hadoop-wujunshen/dfs/name has been successfully formatted.   

再去啟動hadoop,命令:

  1. cd home/wujunshen/hadoop/sbin/ 
  2. ./start-dfs.sh 
  3. ./start-yarn.sh   

#p#

注意:你也可以直接運行./start-all.sh,不用分開啟動dfs和yarn.第一次運行start-all會出現一個問題,輸入yes就行了。

查看運行結果 執行你的jdk運行目錄下的jps,比如我這里是 /usr/lib/jdk1.7.0_45/bin/

輸入命令:

  1. /usr/lib/jdk1.7.0_45/bin/jps 

在hadoop上結果為:

  1. 6419 ResourceManager 
  2. 6659 Jps 
  3. 6106 NameNode 
  4. 6277 SecondaryNameNode  

在hadoop1結果為:

  1. 3930 SecondaryNameNode 
  2. 4222 Jps 
  3. 3817 DataNode 
  4. 3378 NodeManager   

或執行命令

  1. cd /home/wujunshen/hadoop/bin 
  2. ./hdfs dfsadmin -report   

結果:

  1. Configured Capacity: 51653570560 (48.11 GB) 
  2. Present Capacity: 46055575552 (42.89 GB) 
  3. DFS Remaining: 46055550976 (42.89 GB) 
  4. DFS Used: 24576 (24 KB) 
  5. DFS Used%: 0.00% 
  6. Under replicated blocks: 0 
  7. Blocks with corrupt replicas: 0 
  8. Missing blocks: 0 
  9.  
  10. ------------------------------------------------- 
  11. Datanodes available: 1 (1 total, 0 dead) 
  12.  
  13. Live datanodes: 
  14. Name: 192.168.72.128:50010 (hadoop1) 
  15. Hostname: hadoop1 
  16. Decommission Status : Normal 
  17. Configured Capacity: 51653570560 (48.11 GB) 
  18. DFS Used: 24576 (24 KB) 
  19. Non DFS Used: 5597995008 (5.21 GB) 
  20. DFS Remaining: 46055550976 (42.89 GB) 
  21. DFS Used%: 0.00% 
  22. DFS Remaining%: 89.16% 
  23. Last contact: Wed Nov 27 23:56:32 PST 2013 

截圖:

enter image description here

注意:有時候會發現hadoop1上的datanode沒有出現,這個時候以我的體會,最好是把/home/wujunshen/hadoop下的tmp文件夾刪除,然后重新建,重新初始化hadoop文件系統,重啟hadoop,然后執行兩種查看方式再看看

測試

兩種測試方法,實際是運行了兩個示例程序,一個是wordcount,另外一個是randomwriter

1.執行下列命令:

  1. cd /home/wujunshen 
  2. wget http://www.gutenberg.org/cache/epub/20417/pg20417.txt 
  3. cd hadoop 
  4. bin/hdfs dfs -mkdir /tmp 
  5. bin/hdfs dfs -copyFromLocal /home/wujunshen/pg20417.txt /tmp 
  6. bin/hdfs dfs -ls /tmp 
  7. bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /tmp/ /tmp-output   

2.執行下列命令:

  1. cd  /home/wujunshen/hadoop 
  2. bin/hdfs dfs -mkdir /input 
  3. bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter input   

總結

如果你能看到這里,而且按照我之前說的已經運行成功了。那么恭喜你,你實現了hadoop多節點偽分布式的配置。對的,你沒看錯!!!就是偽分布式~ 可能有人不服氣會說:怎么到這里就是偽分布式了呢?不是都OK的么?那么我請你仔細看看你測試中選擇的兩種示例程序啟動的job,如圖是運行第二個randomwriter 程序的job:

enter image description here

看到紅框了伐?全是Local!!!也就是說不管你執行哪個示例程序,啟動的job都只是在master這個節點本地運行的job。哪里有讓slave節點參與了?

再說,看看wordcount這個單詞就知道是個計算單詞的示例程序,如果只有master一個節點計算,那么這能算分布式多節點參與計算么? 所以各位朋友,請接著耐心地看下去,看我如何施展魔法讓hadoop真正的進行分布式計算!!!

#p#

真.配置

之前配置里所說的那些文件修改還是要的。這里我們再對其中一些文件進行修改。

在/home/wujunshen/hadoop/etc/hadoop 下找到 yarn-env.sh,修改它

找到設置JAVA_HOME的那一列 改成:

  1. export JAVA_HOME=/usr/lib/jdk1.7.0_45   

在/home/wujunshen/hadoop/etc/hadoop 下修改mapred-site.xml 在 < configuration >中添加(原先的配置還留著):

  1. <property> 
  2. <name>mapreduce.framework.name</name> 
  3. <value>yarn</value> 
  4. </property> 
  5. <property> 
  6. <name>mapreduce.jobhistory.address</name> 
  7. <value>192.168.72.130:10020</value> 
  8. </property> 
  9. <property> 
  10. <value>192.168.72.130:19888</value> 
  11. </property>  

在/home/wujunshen/hadoop/etc/hadoop 下修改yarn-site.xml 在 < configuration >中添加:

  1. <property> 
  2.  <name>yarn.resourcemanager.address</name> 
  3.  <value>hadoop:8032</value> 
  4.  </property> 
  5.  
  6. <property> 
  7.  <description>The address of the scheduler interface.</description> 
  8.  <name>yarn.resourcemanager.scheduler.address</name> 
  9.  <value>hadoop:8030</value> 
  10. </property> 
  11. <property> 
  12.  <description>The address of the RM web application.</description> 
  13.  <name>yarn.resourcemanager.webapp.address</name> 
  14.  <value>hadoop:8088</value> 
  15. </property> 
  16. <property> 
  17. <name>yarn.resourcemanager.resource-tracker.address</name> 
  18. <value>hadoop:8031</value> 
  19. </property> 
  20. <property> 
  21. <description>The address of the RM admin interface.</description> 
  22. <name>yarn.resourcemanager.admin.address</name> 
  23. <value>hadoop:8033</value> 
  24. </property> 
  25. <property> 
  26. <description>The address of the RM admin interface.</description> 
  27. <name>yarn.nodemanager.address</name> 
  28. <value>hadoop:10000</value> 
  29. </property> 
  30. <property> 
  31. <name>yarn.nodemanager.aux-services</name> 
  32. <value>mapreduce_shuffle</value> 
  33. </property> 
  34. <property> 
  35. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
  36. <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
  37. </property>   

注意:這里很多value都是hadoop打頭的,我一開始修改這些文件都是填寫master的IP地址,我后來試驗了一下,其實用master的hostname,也就是hadoop也可以的。

好了重復測試里那兩個示例程序,這里我運行了randomwriter程序,因為之前已經創建過input文件夾,現在執行命令會報錯說input已存在,很簡單,后面加個1就行,命令變成

  1. cd  /home/wujunshen/hadoop 
  2. bin/hdfs dfs -mkdir /input1 
  3. bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter input1 

重復執行這些命令的話,就把后面改成2,3,4就好了。反正是例子,隨意一點,不用像工作中要取個很正式的名字。

結果如下:

  1. 13/11/28 19:37:23 INFO mapreduce.Job: Running job: job_1385696103815_0001 
  2. 13/11/28 19:37:43 INFO mapreduce.Job: Job job_1385696103815_0001 running in uber mode : false 
  3. 13/11/28 19:37:43 INFO mapreduce.Job:  map 0% reduce 0% 
  4. 13/11/28 19:51:05 INFO mapreduce.Job:  map 10% reduce 0% 
  5. 13/11/28 19:51:11 INFO mapreduce.Job:  map 20% reduce 0% 
  6. 13/11/28 19:51:13 INFO mapreduce.Job:  map 30% reduce 0% 
  7. 13/11/28 19:51:19 INFO mapreduce.Job:  map 40% reduce 0% 
  8. 13/11/28 19:51:21 INFO mapreduce.Job:  map 50% reduce 0% 
  9. 13/11/28 19:51:40 INFO mapreduce.Job:  map 60% reduce 0% 
  10. 13/11/28 20:03:37 INFO mapreduce.Job:  map 70% reduce 0% 
  11. 13/11/28 20:03:48 INFO mapreduce.Job:  map 80% reduce 0% 
  12. 13/11/28 20:03:49 INFO mapreduce.Job:  map 90% reduce 0% 
  13. 13/11/28 20:03:51 INFO mapreduce.Job:  map 100% reduce 0% 
  14. 13/11/28 20:03:53 INFO mapreduce.Job: Job job_1385696103815_0001 completed successfully 
  15. 13/11/28 20:03:53 INFO mapreduce.Job: Counters: 30 
  16.     File System Counters 
  17.             FILE: Number of bytes read=0 
  18.             FILE: Number of bytes written=789520 
  19.             FILE: Number of read operations=0 
  20.             FILE: Number of large read operations=0 
  21.             FILE: Number of write operations=0 
  22.             HDFS: Number of bytes read=1270 
  23.             HDFS: Number of bytes written=10772863128 
  24.             HDFS: Number of read operations=40 
  25.             HDFS: Number of large read operations=0 
  26.             HDFS: Number of write operations=20 
  27.     Job Counters 
  28.             Killed map tasks=5 
  29.             Launched map tasks=15 
  30.             Other local map tasks=15 
  31.             Total time spent by all maps in occupied slots (ms)=9331745 
  32.             Total time spent by all reduces in occupied slots (ms)=0 
  33.     Map-Reduce Framework 
  34.             Map input records=10 
  35.             Map output records=1021605 
  36.             Input split bytes=1270 
  37.             Spilled Records=0 
  38.             Failed Shuffles=0 
  39.             Merged Map outputs=0 
  40.             GC time elapsed (ms)=641170 
  41.             CPU time spent (ms)=806440 
  42.             Physical memory (bytes) snapshot=577269760 
  43.             Virtual memory (bytes) snapshot=3614044160 
  44.             Total committed heap usage (bytes)=232574976 
  45.     org.apache.hadoop.examples.RandomWriter$Counters 
  46.             BYTES_WRITTEN=10737514428 
  47.             RECORDS_WRITTEN=1021605 
  48.     File Input Format Counters 
  49.             Bytes Read=0 
  50.     File Output Format Counters 
  51.             Bytes Written=10772863128 
  52. Job ended: Thu Nov 28 20:03:53 PST 2013 
  53. The job took 1594 seconds. 

#p#

可以看到這個時候Job名字打頭已經不是local了,而是job了。而且可以登錄http://192.168.72.130:8088查看運行的job狀態

如圖:
enter image description here

上圖還是這個job處于running狀態時的信息。

完成時信息如下圖:
enter image description here

現在我們再執行那個wordcount程序,這里和randomwriter類似。

命令是

  1. cd  /home/wujunshen/hadoop 
  2. bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /tmp/ /tmp-output100(為啥是tmp-output100,之前在說randomwriter示例程序時候已經說過) 

結果:

  1. 3/11/29 00:01:40 INFO client.RMProxy: Connecting to ResourceManager at hadoop/192.168.72.130:8032 
  2. 13/11/29 00:01:41 INFO input.FileInputFormat: Total input paths to process : 1 
  3. 13/11/29 00:01:41 INFO mapreduce.JobSubmitter: number of splits:1 
  4. 13/11/29 00:01:41 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name 
  5. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar 
  6. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.output.value.class is deprecated. Instead, use mapreduce.job.output.value.class 
  7. 13/11/29 00:01:41 INFO Configuration.deprecation: mapreduce.combine.class is deprecated. Instead, use mapreduce.job.combine.class 
  8. 13/11/29 00:01:41 INFO Configuration.deprecation: mapreduce.map.class is deprecated. Instead, use mapreduce.job.map.class 
  9. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.job.name is deprecated. Instead, use mapreduce.job.name 
  10. 13/11/29 00:01:41 INFO Configuration.deprecation: mapreduce.reduce.class is deprecated. Instead, use mapreduce.job.reduce.class 
  11. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.input.dir is deprecated. Instead, use mapreduce.input.fileinputformat.inputdir 
  12. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir 
  13. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps 
  14. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.output.key.class is deprecated. Instead, use mapreduce.job.output.key.class 
  15. 13/11/29 00:01:41 INFO Configuration.deprecation: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir 
  16. 13/11/29 00:01:42 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1385696103815_0009 
  17. 13/11/29 00:01:42 INFO impl.YarnClientImpl: Submitted application application_1385696103815_0009 to ResourceManager at hadoop/192.168.72.130:8032 
  18. 13/11/29 00:01:42 INFO mapreduce.Job: The url to track the job: http://hadoop:8088/proxy/application_1385696103815_0009/ 
  19. 13/11/29 00:01:42 INFO mapreduce.Job: Running job: job_1385696103815_0009 
  20. 13/11/29 00:01:53 INFO mapreduce.Job: Job job_1385696103815_0009 running in uber mode : false 
  21. 13/11/29 00:01:53 INFO mapreduce.Job:  map 0% reduce 0% 
  22. 13/11/29 00:02:03 INFO mapreduce.Job:  map 100% reduce 0% 
  23. 13/11/29 00:02:18 INFO mapreduce.Job:  map 100% reduce 50% 
  24. 13/11/29 00:02:19 INFO mapreduce.Job:  map 100% reduce 100% 
  25. 13/11/29 00:02:20 INFO mapreduce.Job: Job job_1385696103815_0009 completed successfully 
  26. 13/11/29 00:02:20 INFO mapreduce.Job: Counters: 43 
  27.     File System Counters 
  28.             FILE: Number of bytes read=267032 
  29.             FILE: Number of bytes written=771667 
  30.             FILE: Number of read operations=0 
  31.             FILE: Number of large read operations=0 
  32.             FILE: Number of write operations=0 
  33.             HDFS: Number of bytes read=674677 
  34.             HDFS: Number of bytes written=196192 
  35.             HDFS: Number of read operations=9 
  36.             HDFS: Number of large read operations=0 
  37.             HDFS: Number of write operations=4 
  38.     Job Counters 
  39.             Launched map tasks=1 
  40.             Launched reduce tasks=2 
  41.             Data-local map tasks=1 
  42.             Total time spent by all maps in occupied slots (ms)=7547 
  43.             Total time spent by all reduces in occupied slots (ms)=25618 
  44.     Map-Reduce Framework 
  45.             Map input records=12760 
  46.             Map output records=109844 
  47.             Map output bytes=1086547 
  48.             Map output materialized bytes=267032 
  49.             Input split bytes=107 
  50.             Combine input records=109844 
  51.             Combine output records=18040 
  52.             Reduce input groups=18040 
  53.             Reduce shuffle bytes=267032 
  54.             Reduce input records=18040 
  55.             Reduce output records=18040 
  56.             Spilled Records=36080 
  57.             Shuffled Maps =2 
  58.             Failed Shuffles=0 
  59.             Merged Map outputs=2 
  60.             GC time elapsed (ms)=598 
  61.             CPU time spent (ms)=4680 
  62.             Physical memory (bytes) snapshot=267587584 
  63.             Virtual memory (bytes) snapshot=1083478016 
  64.             Total committed heap usage (bytes)=152768512 
  65.     Shuffle Errors 
  66.             BAD_ID=0 
  67.             CONNECTION=0 
  68.             IO_ERROR=0 
  69.             WRONG_LENGTH=0 
  70.             WRONG_MAP=0 
  71.             WRONG_REDUCE=0 
  72.     File Input Format Counters 
  73.             Bytes Read=674570 
  74.     File Output Format Counters 
  75.             Bytes Written=196192   

可以看到job名字也是以job打頭的一個名字。

注意:這里有可能會碰到錯誤:

  1. java.io.FileNotFoundException: Path is not a file: /tmp/hadoop-yarn   

解決方法很簡單,命令是:

  1. cd  /home/wujunshen/hadoop 
  2. bin/hdfs dfs -mkdir /tmp 
  3. bin/hdfs dfs -copyFromLocal /home/wujunshen/pg20417.txt /tmp 
  4. bin/hdfs dfs -ls /tmp  

(如果之前已經運行過以上命令就沒必要再輸入這些命令了。我順便講一下這幾個命令,其實hadoop是在ubuntu的文件系統中劃出了一塊作為它自己的 文件系統,所謂的hdfs全稱就是hadoop file system,但是這個文件系統中的文件和文件夾是無法用ubuntu的命令找到的,也無法在win7,win8中用FTP客戶端cuteFTP找到。因 為這是虛擬的文件系統,現實中不存在。所以如果要在這個虛擬化的文件系統中進行文件和文件夾創建,還有拷貝和查看等操作,必須開頭是以bin/hdfs dfs打頭的,這樣就能在這個虛擬的文件系統中進行普通系統的操作,當然后面要有個減號,可以看到mkdir /tmp,copyFromLocal /home/wujunshen/pg20417.txt /tmp和ls /tmp就是普通文件系統操作命令)

  1. bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /tmp/pg20417.txt /tmp-output101   

#p#

出現該錯誤的原因是在運行上條命令時候,在虛擬文件系統hdfs的tmp文件夾下自動創建了一個/tmp/hadoop-yarn,而我們是對 pg20417.txt 這個文本中的word個數進行計算,要找的是file而不是path,所以我們改成/tmp/pg20417.txt, 讓wordcount 程序知道自己要找的是個file而不是path,而且還知道自己要找的是哪個file。

登錄http://192.168.72.130:8088查看運行的job狀態

enter image description here

可以看到我試驗的各種成功和失敗的job信息

真.總結

其實hadoop中有個很重要的東西就是yarn。在真.配置里修改的那些有關yarn的配置文件是讓hadoop變成真正的分布式系統的關鍵。 在這里我簡單地對yarn介紹一下:

yarn原意為“紗線”,想想我們剛才對它進行了配置讓我們實現了真正的分布式配置,我頓時覺得用紗線這個名字還挺形象的,呵呵。 它是hadoop的一個資源管理器。它的資源管理和執行框架都是按master/slave范例實現——節點管理器(NM)運行、監控每個節點,并向資源管理器報告資源的可用性狀態。 特定應用的執行由Master控制,負責將一個應用分割成多個Job,并和資源管理器協調執行所需的資源。資源一旦分配好,Master就和節點管理器一起安排、執行、監控獨立的Job。 yarn提供了一種新的資源管理模型和執行方式,用來執行MapReduce任務。因此,在最簡單的情況下,現有的MapReduce應用仍然能照原樣運行(需要重新編譯),yarn只不過能讓開發人員更精確地指定執行參數。

好了,我終于寫完了。大家隨便看看吧~

題外話

我蠻喜歡hadoop這個黃色小象的logo,貼出來給大家養養眼 enter image description here

另外不知道大家在登錄時有沒有注意到右上角的登錄帳號,見下圖紅框:

enter image description here

這個dr. who可是大大有名啊~它是目前人類歷史上最長的電視連續劇,英國科幻劇《神秘博士》的劇名。前不久google上還紀念過這部電視劇開播50周年。新版 的dr. who從2005年開始也開播了快10年了。至于它的外傳劇集《火炬木小組》在國內年輕人之中更加有名。(火炬木小組絕對是個坑,從2006年開始播,到 現在也只有四季,平均每兩年出一季,第一,第二季還一季20多集,從第三季開始居然只有五六集。而且到現在也沒說會不會拍第五季,不過看第四季最后一集應 該有續集。這片子主角杰克上校扮演者在美劇《綠箭俠》里演一號反派。第四季里那個會說上海話的黑人在夏天《星際迷航》最新電影版里也出來過,就是被可汗脅 迫炸樓的那位。)

原文鏈接:http://www.ituring.com.cn/article/63927

 

責任編輯:陳四芳 來源: 圖靈社區
相關推薦

2023-05-09 08:15:00

Linux節點Windows

2012-09-19 14:09:20

Hadoop開源

2017-02-28 09:48:30

2011-04-18 14:43:23

分布式測試分布式測試

2014-07-15 11:15:44

hadoop分布式部署

2014-06-18 16:47:57

初志云存儲云計算

2017-08-10 10:17:32

Hadoop分布式搭建

2019-09-26 15:43:52

Hadoop集群防火墻

2013-06-08 14:34:42

Hadoop 2.0

2010-06-04 18:45:43

Hadoop分布式文件

2010-06-03 19:46:44

Hadoop

2011-08-12 10:58:51

Hadoop

2012-10-11 14:03:56

FastDFS分布式文件系統

2009-10-09 17:17:11

安裝VB dcom分布

2020-03-31 08:05:23

分布式開發技術

2017-10-25 18:25:40

Hadoop偽分布式環境部署

2011-07-15 17:48:27

Platform

2015-08-03 15:48:42

Hadoop大數據

2012-02-23 09:59:05

Hadoop分布式應用

2011-09-28 11:22:52

Hadoop
點贊
收藏

51CTO技術棧公眾號

亚洲人妻一区二区| 久久99久久98精品免观看软件| 中文字幕乱码在线播放| 久久久.com| 成人日韩在线电影| 日韩免费一二三区| 欧美理论电影大全| 日韩欧美123| 久久精品视频91| 9191在线播放| 久久精品亚洲乱码伦伦中文| 国产精品免费福利| 激情综合网五月婷婷| 久久99国内| 日韩三级精品电影久久久| 日本精品一区在线观看| 哥也色在线视频| 久久久综合激的五月天| 91视频国产精品| 日本视频在线观看免费| 亚洲精品久久久| 国产性猛交xxxx免费看久久| 欧美图片自拍偷拍| 欧美国产视频| 狠狠久久亚洲欧美专区| 黄色网在线视频| 国产高清视频免费最新在线| 成人18视频日本| 1卡2卡3卡精品视频| 日本欧美www| 国产欧美日韩一区二区三区在线| 久久天天躁狠狠躁老女人| aa一级黄色片| 精品久久对白| 欧美成人精精品一区二区频| 99sesese| 成人高清一区| 色诱视频网站一区| 成熟丰满熟妇高潮xxxxx视频| 成人黄视频在线观看| 国产精品天干天干在线综合| 久久久久久久久久久久久久久久av | 亚洲丝袜一区在线| 免费黄色三级网站| www.亚洲一二| 日韩欧美久久一区| 日本精品一区在线| 久久影视精品| 精品视频一区三区九区| 日av中文字幕| 欧美第一视频| 色婷婷久久99综合精品jk白丝| 日韩亚洲欧美视频| sm捆绑调教国产免费网站在线观看 | 国产精品美女久久久久av福利| 国产又大又黄的视频| 免费成人在线网站| 国产精品夜色7777狼人| 国产精品午夜一区二区| 日本大胆欧美人术艺术动态| 国产福利精品视频| 中国a一片一级一片| 三级欧美韩日大片在线看| 欧美一级免费视频| 日本特级黄色片| 久久国产福利| 国产精品高潮粉嫩av| 男人的天堂av网站| 青青国产91久久久久久| 国产精品日韩欧美大师| 一区二区不卡视频在线观看| 九九九久久久精品| 91夜夜未满十八勿入爽爽影院| 国产精品一区二区免费视频| 国产乱色国产精品免费视频| 91aaaa| 色欲久久久天天天综合网| 97se亚洲国产综合自在线观| 欧美不卡三区| 在线观看av黄网站永久| 亚洲视频香蕉人妖| 日韩成人三级视频| 超级白嫩亚洲国产第一| 色哟哟国产精品| 日韩精品视频一二三| 免费一级欧美在线大片| 亚洲第一网站男人都懂| 国产精品密蕾丝袜| 永久91嫩草亚洲精品人人| 欧美日韩国产成人| 国产区在线观看视频| 日本中文字幕不卡| 7777奇米亚洲综合久久| 免费在线观看一级毛片| 亚洲视频一区二区免费在线观看| 国产亚洲黄色片| 成人精品三级| 日韩欧美色电影| 91中文字幕永久在线| 午夜精品毛片| 777精品视频| 一区二区三区午夜| 99久久免费视频.com| 性高潮久久久久久久久| a天堂资源在线| 欧美亚洲自拍偷拍| 国产国语老龄妇女a片| 国产一区二区三区探花| 美女av一区二区| youjizz在线视频| 国产黄色精品网站| 色一情一乱一伦一区二区三区丨| 污视频免费在线观看| 色猫猫国产区一区二在线视频| 被黑人猛躁10次高潮视频| 午夜精品影视国产一区在线麻豆| 精品国产一区二区三区四区在线观看| 日韩免费视频网站| 国模少妇一区二区三区 | 欧美丝袜激情| 久久久久久国产三级电影| 又骚又黄的视频| 91看片淫黄大片一级在线观看| 五月天av影院| 欧美xnxx| 亚洲美女在线看| 国产精品成人网站| 国产一区二区三区精品欧美日韩一区二区三区 | www日韩中文字幕在线看| 国产精品1234区| 国内精品国产成人| 亚洲精品视频一区二区三区| 中文字幕资源网在线观看免费 | 欧美一区二区少妇| 亚洲成在人线免费| 奇米777在线| 99热在线成人| 国产欧美日韩视频| 超碰在线影院| 欧美性大战久久久| 韩国女同性做爰三级| 香蕉久久久久久久av网站| 国产欧美一区二区视频| 里番在线播放| 日韩精品一区二区三区老鸭窝| 日本精品在线免费观看| 久久精品国产99| 亚洲综合首页| 久久91视频| 久久久99免费视频| 97超碰资源站| 亚洲美女在线国产| 古装做爰无遮挡三级聊斋艳谭| 久久久久久免费视频| 成人免费网站在线| 国产美女福利在线| 日韩一二三四区| 国产亚洲第一页| 成人aaaa免费全部观看| 欧美 国产 综合| 亚洲日产av中文字幕| 青青青国产精品一区二区| 欧美男男激情freegay| 色噜噜狠狠一区二区三区果冻| 一级性生活毛片| 日日摸夜夜添夜夜添精品视频 | 欧美xxxxx视频| 成人av番号网| 亚洲小说区图片| 亚洲大胆人体视频| 欧美亚洲精品天堂| 国产欧美日韩精品在线| 天天爽夜夜爽一区二区三区| 99久久99热这里只有精品| 成人羞羞国产免费| 污片在线免费观看| 精品视频偷偷看在线观看| 高潮毛片又色又爽免费 | 老司机免费视频一区二区三区| 一区二区av| 亚洲日本va午夜在线电影| 国内外成人免费激情在线视频 | 中文字幕av一区中文字幕天堂 | 岛国av在线网站| 一区二区三欧美| a级片在线视频| 欧美日韩免费一区| 天堂网中文在线观看| 处破女av一区二区| caopor在线视频| 欧美在线日韩| 日本一区视频在线播放| 高清国产一区二区三区四区五区| 久久久久久97| 91露出在线| 欧美精品一区在线观看| 国产成人麻豆免费观看| 一区二区三区在线看| 少妇久久久久久久久久| 国产米奇在线777精品观看| 欧美 日韩 国产 高清| 99久久婷婷国产综合精品电影√| 国产日产精品一区二区三区四区| 91成人抖音| 91国自产精品中文字幕亚洲| 91在线不卡| 日韩精品视频在线观看网址| 国产精品无码一区二区桃花视频 | 99免费精品在线| 亚洲最大成人在线观看| 99riav国产精品| 麻豆一区二区三区在线观看| 国产不卡一区| 国产日韩欧美精品| 欧美国产中文高清| 国产精品九九九| 色老头在线一区二区三区| 久久综合免费视频影院| 国产中文在线| 亚洲精品午夜精品| 欧美视频一二区| 日韩一区二区三区四区五区六区| 国产主播第一页| 欧美日韩国产在线看| 精品爆乳一区二区三区无码av| 国产精品色一区二区三区| 亚洲av片不卡无码久久| 成人免费毛片高清视频| 国内av免费观看| 久久精品国产亚洲aⅴ| 亚洲爆乳无码专区| 国产情侣久久| 久久综合久久网| 亚洲视频日本| 菠萝蜜视频在线观看入口| 久久久国产精品| 一区二区精品国产| 欧美高清视频手机在在线| 日韩高清三级| 一区二区导航| 久久综合九色综合久99| 牛牛精品成人免费视频| 国产视频一区二区三区四区| 1204国产成人精品视频| av成人免费观看| 涩涩屋成人免费视频软件| 999日本视频| 精品一区二区三区中文字幕在线 | 夜夜躁很很躁日日躁麻豆| 91搞黄在线观看| 69av视频在线观看| 在线中文字幕一区二区| 无码人妻熟妇av又粗又大| 欧美性猛交xxxx偷拍洗澡| 久久久久久少妇| 日韩欧美在线视频观看| 国产午夜麻豆影院在线观看| 色综合久久九月婷婷色综合| 国产乡下妇女三片| 欧美日韩视频在线第一区 | 欧美中文娱乐网| 成人影院在线| 乱子伦一区二区| 国产精品mm| 日韩精品一区二区三区久久| 免费精品视频| 午夜国产一区二区三区| 九九**精品视频免费播放| 天天操夜夜操很很操| www.色综合.com| 精品无码一区二区三区| 中文乱码免费一区二区| 爱爱视频免费在线观看| 亚洲一区免费视频| 亚洲黄色免费观看| 欧美日韩国产不卡| 精品国产va久久久久久久| 亚洲成人精品视频| 激情福利在线| 久久不射电影网| 黄在线观看免费网站ktv| 国产精品99久久久久久人| 亚洲国产精选| 国内精品久久久久久久果冻传媒| 深爱激情综合| 免费观看黄色的网站| 亚洲高清免费| 中文字幕第100页| 成人午夜大片免费观看| 成年人免费观看视频网站| 最好看的中文字幕久久| 日本在线小视频| 欧美伊人久久久久久午夜久久久久| 国产视频www| 亚洲色图第一页| 26uuu亚洲电影在线观看| 91爱爱小视频k| 日韩午夜视频在线| 久久久久久久久久久久久久久久av| 久久国产精品亚洲人一区二区三区 | 日本黄色www| 久久毛片高清国产| 91porn在线视频| 欧美在线免费观看视频| 亚洲国产精品久久人人爱潘金莲 | 亚洲一区二区自偷自拍| 亚洲综合激情另类小说区| 国产熟妇一区二区三区四区| 日韩欧美国产一区二区三区| 成人在线视频成人| 国内精品国产三级国产在线专| 久久福利在线| 日韩精品一区二区三区四区五区 | 中文字幕乱码日本亚洲一区二区| 国产一级视频在线| 欧美精品一卡二卡| 天堂av网在线| 久久噜噜噜精品国产亚洲综合 | 国产主播av在线| 欧美日韩性生活视频| 成 人 免费 黄 色| 精品精品国产国产自在线| 黄色综合网址| 激情小说综合区| 国内视频精品| 人妻体体内射精一区二区| 国产精品乱人伦一区二区| 亚洲国产成人精品女人久久| 日韩av在线免费看| 51av在线| 国产精品一区二区三区精品| 你懂的视频一区二区| 国内av一区二区| 中文字幕一区二区5566日韩| 丰满人妻一区二区三区四区| 亚洲精品视频久久| 手机av在线| 久久草.com| 免费看的黄色欧美网站| 这里只有精品在线观看视频| 亚洲一区二区美女| 亚洲精品综合网| 久久男人的天堂| 国产福利资源一区| 777777av| 91丝袜国产在线播放| 精品欧美一区二区三区免费观看| 亚洲成人黄色网址| a在线视频v视频| 欧美xxxx黑人又粗又长精品| 一二三区精品| 亚洲av无码国产精品久久| 精品欧美aⅴ在线网站| 水莓100在线视频| 国产97在线播放| 成人影视亚洲图片在线| 自拍偷拍一区二区三区四区| 国产精品久久看| va视频在线观看| 欧美二区乱c黑人| 黑色丝袜福利片av久久| 国产a级一级片| 中文文精品字幕一区二区| 一级黄色a视频| 欧美精品在线网站| 久久精品国产亚洲5555| 情侣黄网站免费看| 中文字幕高清一区| 国产特级黄色片| 欧美激情影音先锋| 精品中文一区| 日韩成人av免费| 性欧美疯狂xxxxbbbb| 免费播放片a高清在线观看| 国产精品美腿一区在线看| 欧美福利影院| 少妇精品一区二区| 欧美美女黄视频| av电影免费在线看| 神马欧美一区二区| 国产麻豆9l精品三级站| 欧美三级韩国三级日本三斤在线观看| 亚洲精品中文字幕av| 日日狠狠久久| 老太脱裤子让老头玩xxxxx| 国产欧美日韩不卡免费| h片在线免费看| 国产成人精品一区二区三区| 亚洲一本二本| 自拍偷拍中文字幕| 欧美一级日韩免费不卡| a天堂资源在线| 在线码字幕一区| 99精品久久免费看蜜臀剧情介绍 | 欧美不卡激情三级在线观看| 成人直播视频| av一区二区三区免费观看| 国产亚洲欧洲997久久综合| 精品毛片在线观看| 国产精品电影久久久久电影网|