精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩亚洲视频在线观看| 日本三级片在线观看| 91麻豆精品| 一区二区三区在线观看网站| 国产日本一区二区三区| 欧美成人一区二区三区四区| 我不卡手机影院| 亚洲福利视频久久| 视频二区在线播放| gogo高清午夜人体在线| 国产色产综合色产在线视频| 51国产成人精品午夜福中文下载| 日本少妇吞精囗交| 四虎成人精品永久免费av九九| 欧美大片在线观看一区| 欧美 日韩 国产 激情| 丝袜美女在线观看| 国产人久久人人人人爽| 高清av免费一区中文字幕| 波多野结衣一区二区在线| 黄色亚洲在线| 日韩视频免费中文字幕| 久久人人爽人人爽人人片| a一区二区三区亚洲| 色域天天综合网| 精品久久久无码人妻字幂| 国产经典自拍视频在线观看| 成人亚洲一区二区一| 国产精品色婷婷视频| 在线观看免费国产视频| 欧美.www| 日韩中文字幕在线免费观看| 黑人巨大精品欧美| 亚洲大奶少妇| 91精品国产综合久久久蜜臀图片| 熟女性饥渴一区二区三区| 污污网站在线看| 中文字幕亚洲一区二区va在线| 久久综合一区| 人妻va精品va欧美va| 黄页视频在线91| 国产精品欧美风情| 国产www在线| 亚洲成色精品| 午夜精品一区二区三区在线播放| 91精品少妇一区二区三区蜜桃臀| 欧美日韩有码| 亚洲欧美成人在线| 国产吞精囗交久久久| 精品久久97| 精品av久久707| 欧美xxxxx少妇| 日韩三级久久| 欧美一级在线视频| 三级黄色片免费观看| 天天综合在线观看| 欧美高清一级片在线| 91精品999| 外国成人毛片| 欧美二区三区的天堂| 污污网站免费观看| 久久精品国产福利| 欧美精品在线观看播放| 视频免费1区二区三区| 中文字幕日本一区| 91精品国产综合久久福利| 欧美成人乱码一二三四区免费| 日本一区二区三区中文字幕| 这里只有精品免费| 四虎国产精品免费| 一区二区日韩| 亚洲激情视频网站| 日本高清www| 人人狠狠综合久久亚洲婷婷| 日韩专区在线播放| 国产大学生自拍| 精品二区视频| 91精品国产色综合| 青青国产在线视频| 国内精品在线播放| 俄罗斯精品一区二区| 天堂网2014av| 欧美精彩视频一区二区三区| 中文字幕欧美日韩一区二区| www.久久ai| 精品久久久久久亚洲精品| 情侣黄网站免费看| 亚洲青青一区| 亚洲成人性视频| 四虎永久免费影院| 99热在线成人| 国语自产在线不卡| 少妇无套内谢久久久久| 国产精品一区二区久久精品爱涩| 精品国产一区二区三区四区精华| 黄色片在线播放| 亚洲三级理论片| av之家在线观看| 日韩电影精品| 亚洲国产精久久久久久| 在线视频第一页| 欧美日韩1区2区3区| 国产91色在线免费| www.97av.com| 丝袜久久网站| 中国日韩欧美久久久久久久久| 日韩a级片在线观看| 亚洲尤物在线| 91久久偷偷做嫩草影院| 国产视频精品久久| 亚洲一区二区美女| 伊人色在线观看| 亚洲精品小区久久久久久| 蜜臀久久99精品久久久无需会员 | 亚洲国产欧美91| 亚洲精品蜜桃乱晃| 欧美激情小视频| 91九色蝌蚪91por成人| 91网站在线播放| 国产激情在线看| 精品久久久网| 国产精品久久久久影视| 日韩成人手机在线| 国产精品xxx| 亚洲美女视频网站| 日韩精品一区三区| 大桥未久av一区二区三区中文| 亚洲精品第一区二区三区| 欧美大胆a人体大胆做受| 91精品福利在线一区二区三区| 一区二区三区久久久久| 国产一区二区高清| 国产精品久久九九| av大大超碰在线| 欧美日本免费一区二区三区| 一区二区三区伦理片| 中文国产一区| 国产一区二区三区四区五区在线| 污视频网站免费在线观看| 欧美日韩国产精选| 99久久99久久精品免费看小说.| 老鸭窝91久久精品色噜噜导演| 久久久久久久久久久人体| 一区二区三区黄色片| 国产精品污网站| 爱情岛论坛vip永久入口| 亚洲色图美女| 清纯唯美亚洲综合| 免费黄色片在线观看| 欧美色图在线视频| 右手影院亚洲欧美| 麻豆成人在线| 日韩精品大片| 日韩av免费| 最近2019中文字幕mv免费看| 中文字幕在线观看第二页| 国产精品色婷婷| 日韩av.com| 亚洲一区二区三区| 99久久99久久精品国产片| 污视频在线看网站| 欧美精品一区二区三区在线播放 | 男人天堂网在线观看| 欧美午夜电影在线| 国产精品美女高潮无套| 麻豆成人91精品二区三区| 自拍另类欧美| 69精品国产久热在线观看| 性色av一区二区咪爱| 日本福利在线观看| 欧美天堂一区二区三区| 久久国产波多野结衣| 国产成人精品网址| 丁香六月激情婷婷| 精品中文一区| 成人在线国产精品| a'aaa级片在线观看| 亚洲美女av在线| 欧美激情一区二区三区免费观看 | 中日韩黄色大片| 久久久噜噜噜久噜久久综合| 91小视频网站| 欧美日韩国产高清| 欧美精品七区| 亚洲二区av| 国内免费精品永久在线视频| 国产永久av在线| 日韩亚洲欧美在线| 免费av网站在线| 中文字幕综合网| 美女又爽又黄视频毛茸茸| 另类成人小视频在线| 成人网站免费观看入口| 伊人久久大香线蕉综合网蜜芽| 成人在线视频网站| 韩日毛片在线观看| 色999日韩欧美国产| 色哟哟国产精品色哟哟| 欧美日韩免费在线视频| 麻豆一区二区三区精品视频| 国产欧美日韩精品a在线观看| 亚洲成人av免费观看| 久久一区精品| 成人在线视频一区二区三区| 精品久久视频| 久久久99国产精品免费| 在线欧美激情| 国产精品视频精品| 性欧美freesex顶级少妇| 久久亚洲影音av资源网| 久久久资源网| 亚洲高清一二三区| 国产日产亚洲系列最新| 在线观看免费成人| 欧产日产国产精品98| 日本不卡免费在线视频| 亚洲美免无码中文字幕在线| 亚欧美无遮挡hd高清在线视频| 蜜桃精品久久久久久久免费影院| 视频在线一区| 成人免费视频网| 欧美日韩尤物久久| 国产69精品久久久久久| 蜜臀av在线| 欧美成人精品三级在线观看| 婷婷五月在线视频| 亚洲视频在线看| 日本精品专区| 精品亚洲精品福利线在观看| 免费观看a视频| 日韩片之四级片| 国产又粗又猛又爽| 欧美日韩在线播放| 精品国产青草久久久久96| 色婷婷久久久久swag精品| 黑人一级大毛片| 精品国产91久久久| 色婷婷av国产精品| 精品福利樱桃av导航| 日韩在线视频免费播放| 天天操天天色综合| 日本道在线观看| 福利微拍一区二区| 亚洲天堂一区在线| 一本色道亚洲精品aⅴ| 影音先锋在线国产| 黑人与娇小精品av专区| 91美女免费看| 色婷婷亚洲精品| 波多野结衣电影在线播放| 在线国产亚洲欧美| 丰满人妻一区二区三区四区| 欧美日韩一区三区四区| 97精品人妻一区二区三区香蕉| 欧美妇女性影城| 99精品免费观看| 日韩欧美高清一区| 免费看国产片在线观看| 亚洲精品国产电影| 欧洲天堂在线观看| 一区二区三区黄色| 日本中文在线观看| 欧美精品在线免费播放| bl视频在线免费观看| 97视频com| 456亚洲精品成人影院| 国产精品一区二区久久久| 日韩深夜福利网站| 99re在线播放| 免费看成人吃奶视频在线| 日韩精品久久久免费观看 | 91免费观看视频在线| 亚洲av成人无码久久精品| 中文字幕在线不卡视频| 久久久久99精品成人片毛片| 精品久久久久人成| 免费黄色一级大片| 欧美一级片在线观看| 午夜福利一区二区三区| 一区二区三欧美| 污污的网站在线看| 日韩av成人在线观看| 99久热在线精品视频观看| 国产乱码精品一区二区三区中文| 欧美极品在线观看| 日韩国产精品毛片| 在线亚洲成人| 成人黄色一级大片| 99re热这里只有精品视频| 91ts人妖另类精品系列| 亚洲国产精品影院| 一区二区三区免费在线| 亚洲精品动漫久久久久| 欧美成人hd| 91精品国产乱码久久久久久久久 | 日韩美女视频一区二区在线观看| 亚洲av成人精品一区二区三区在线播放 | 国产伦精品一区二区三区视频| 麻豆md0077饥渴少妇| 亚洲在线黄色| 美女被爆操网站| 中文字幕免费在线观看视频一区| 日本一区二区三区四区五区| 欧美久久久一区| 狠狠狠综合7777久夜色撩人| 欧美精品激情在线观看| 欧美啪啪网站| 欧美污视频久久久| 亚洲全部视频| 国产亚洲色婷婷久久| 中文字幕乱码一区二区免费| 日本一级黄色录像| 日韩欧美一二三| 看黄网站在线| 国产精品自产拍在线观看中文| 一区二区三区四区在线看| 国产尤物av一区二区三区| 精品一区二区三区久久| 日本成人午夜影院| 日韩欧美国产网站| 香蕉视频黄在线观看| 欧美国产日韩一区二区| 中文字幕日韩亚洲| 一区二区精品国产| 免费在线一区观看| 青青草视频成人| 欧美日韩免费一区| 色欲av永久无码精品无码蜜桃| 欧美乱大交xxxxx| 国产高清亚洲| 老汉色影院首页| 久久国产成人午夜av影院| 欧美三级视频网站| 色呦呦国产精品| 精品无吗乱吗av国产爱色| 51色欧美片视频在线观看| 久久97久久97精品免视看秋霞| 国产精品三级一区二区| 国产一区二区调教| 黑鬼狂亚洲人videos| 欧美夫妻性生活| 精品国产丝袜高跟鞋| 成人高h视频在线| 五月天久久久| 人妻精品久久久久中文字幕69| 亚洲天堂中文字幕| 99热这里只有精品99| 伦理中文字幕亚洲| 欧美高清一级片| 人妻激情另类乱人伦人妻| 成人晚上爱看视频| 五月天综合在线| 亚洲毛片一区二区| 美女100%一区| 亚洲 日韩 国产第一区| 久久福利视频一区二区| 手机在线免费看片| 日韩免费在线观看| 阿v视频在线观看| 欧美精品亚洲精品| 美女视频一区在线观看| 免费看特级毛片| 欧美xxxx老人做受| 欧美少妇网站| 亚洲二区自拍| 国产精品99久久久| 日韩av一二三区| 亚洲人成在线电影| 欧美风情在线视频| 大胆欧美熟妇xx| 久久影院电视剧免费观看| 伊人成年综合网| 欧美成人黄色小视频| 欧美爱爱网站| 99热这里只有精品在线播放| 亚洲女子a中天字幕| 噜噜噜久久,亚洲精品国产品| 欧亚精品中文字幕| 日韩精品永久网址| 国产免费无码一区二区| 色欧美片视频在线观看在线视频| 婷婷成人激情| 精品一区日韩成人| 美腿丝袜亚洲色图| 国产精品50页| 中文字幕av一区二区| 在线播放一区二区精品视频| 青青在线视频免费| 亚洲欧美日韩综合aⅴ视频| 熟妇人妻av无码一区二区三区| 国产精品高潮粉嫩av| 欧美国产激情| 受虐m奴xxx在线观看| 91精品国模一区二区三区| 欧美aa视频| 久久久久久久9| 国产精品久线观看视频| 天天操天天干天天插| 成人字幕网zmw| 久久影院亚洲|