自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hadoop 2.0.3在Linux環(huán)境下單機(jī)部署

大數(shù)據(jù) Hadoop
與之前的穩(wěn)定的hadoop-1.x相比,Apache Hadoop 2.x有較為顯著的變化。這里給出在HDFS和MapReduce兩方面的改進(jìn)。

1.Hadoop2.0簡述[1]

 HDFS:為了保證name服務(wù)器的規(guī)模水平,開發(fā)人員使用了多個獨立的Namenodes和Namespaces。這些Namenode是聯(lián)合起來的,它們之間不需要相互協(xié)調(diào)。Datanode可以為所有Namenode存放數(shù)據(jù)塊,每個數(shù)據(jù)塊要在平臺上所有的Namenode上進(jìn)行注冊。Datenode定期向Namenode發(fā)送心跳信號和數(shù)據(jù)報告,接受和處理Namenodes的命令。

  YARN(新一代MapReduce):在hadoop-0.23中介紹的新架構(gòu),將JobTracker的兩個主要的功能:資源管理和作業(yè)生命周期管理分成不同的部分。新的資源管理器負(fù)責(zé)管理面向應(yīng)用的計算資源分配和每個應(yīng)用的之間的調(diào)度及協(xié)調(diào)。

  每個新的應(yīng)用既是一個傳統(tǒng)意義上的MapReduce作業(yè),也是這些作業(yè)的 DAG(Database Availability Group數(shù)據(jù)可用性組),資源管理者(ResourcesManager)和管理每臺機(jī)器的數(shù)據(jù)管理者(NodeManager)構(gòu)成了整個平臺的計算布局。

  每一個應(yīng)用的應(yīng)用管理者實際上是一個架構(gòu)的數(shù)據(jù)庫,向資源管理者(ResourcesManager)申請資源,數(shù)據(jù)管理者(NodeManager)進(jìn)行執(zhí)行和監(jiān)測任務(wù)。

2. Hadoop2.0的目錄結(jié)構(gòu)[2]

  Hadoop2.0的目錄結(jié)構(gòu)很像Linux操作系統(tǒng)的目錄結(jié)構(gòu),各個目錄的作用如下:

  (1)   在新版本的hadoop中,由于使用hadoop的用戶被分成了不同的用戶組,就像Linux一樣。因此執(zhí)行文件和腳本被分成了兩部分,分別存放在bin和sbin目錄下。存放在sbin目錄下的是只有超級用戶(superuser)才有權(quán)限執(zhí)行的腳本,比如start-dfs.sh, start-yarn.sh, stop-dfs.sh, stop-yarn.sh等,這些是對整個集群的操作,只有superuser才有權(quán)限。而存放在bin目錄下的腳本所有的用戶都有執(zhí)行的權(quán)限,這里的腳本一般都是對集群中具體的文件或者block pool操作的命令,如上傳文件,查看集群的使用情況等。

  (2)   etc目錄下存放的就是在0.23.0版本以前conf目錄下存放的東西,就是對common, hdfs, mapreduce(yarn)的配置信息。

  (3)   include和lib目錄下,存放的是使用Hadoop的C語言接口開發(fā)用到的頭文件和鏈接的庫。

  (4)   libexec目錄下存放的是hadoop的配置腳本,具體怎么用到的這些腳本,我也還沒跟蹤到。目前我就是在其中hadoop-config.sh文件中增加了JAVA_HOME環(huán)境變量。

  (5)   logs目錄在download到的安裝包里是沒有的,如果你安裝并運行了hadoop,就會生成logs 這個目錄和里面的日志。

  (6)   share這個文件夾存放的是doc文檔和最重要的Hadoop源代碼編譯生成的jar包文件,就是運行hadoop所用到的所有的jar包。

3.學(xué)習(xí)hadoop的配置文件[3]

  (1)   dfs.hosts記錄即將作為datanode加入集群的機(jī)器列表

  (2)   mapred.hosts 記錄即將作為tasktracker加入集群的機(jī)器列表

  (3)   dfs.hosts.exclude mapred.hosts.exclude 分別包含待移除的機(jī)器列表

  (4)   master 記錄運行輔助namenode的機(jī)器列表

  (5)   slave 記錄運行datanode和tasktracker的機(jī)器列表

  (6)   hadoop-env.sh 記錄腳本要用的環(huán)境變量,以運行hadoop

  (7)   core-site.xml hadoop core的配置項,例如hdfs和mapreduce常用的i/o設(shè)置等。

  (8)   hdfs-site.xml hadoop守護(hù)進(jìn)程的配置項,包括namenode、輔助namenode和datanode等。

  (9)   mapred-site.xml mapreduce守護(hù)進(jìn)程的配置項,包括jobtracker和tasktracker。

  (10) hadoop-metrics.properties 控制metrics在hadoop上如何發(fā)布的屬性。

     (11) log4j.properties 系統(tǒng)日志文件、namenode審計日志、tasktracker子進(jìn)程的任務(wù)日志的屬性。

4. hadoop詳細(xì)配置[4,5]

   從Hadoop官網(wǎng)上下載hadoop-2.0.0-alpha.tar.gz,放到共享文件夾中,在/usr/lib中進(jìn)行解壓,運行tar -zxvf /mnt/hgfs/share/hadoop-2.0.0-alpha.tar.gz。

  (1)在gedit ~/.bashrc中編輯:

  1. export HADOOP_PREFIX="/usr/lib/hadoop-2.0.0-alpha" 
  2. export PATH=$PATH:$HADOOP_PREFIX/bin 
  3. export PATH=$PATH:$HADOOP_PREFIX/sbin 
  4. export HADOOP_MAPRED_HOME=${HADOOP_PREFIX} 
  5. export HADOOP_COMMON_HOME=${HADOOP_PREFIX} 
  6. export HADOOP_HDFS_HOME=${HADOOP_PREFIX} 
  7. export YARN_HOME=${HADOOP_PREFIX} 

仍然保存退出,再source ~/.bashrc,使之生效。

  (2)在etc/hadoop目錄中編輯 core-site.xml

  1. <configuration> 
  2. <property> 
  3. <name>io.native.lib.available</name> 
  4. <value>true</value> 
  5. </property> 
  6. <property> 
  7. <name>fs.default.name</name> 
  8. <value>hdfs://10.1.50.170:9000</value> 
  9. <description>The name of the default file system.Either the literal string "local" or a host:port for NDFS.</description> 
  10. <final>true</final> 
  11. </property> 
  12. </configuration> 

     (3) 在etc/hadoop目錄中編輯hdfs-site.xml

  1. <configuration> 
  2. <property> 
  3. <name>dfs.namenode.name.dir</name> 
  4. <value>file:/usr/lib/hadoop-2.0.0-alpha/workspace/hadoop_space/hadoop23/dfs/name</value> 
  5. <description>Determines where on the local filesystem the DFS name node should store the 
  6. name table.If this is a comma-delimited list of directories,then name table is 
  7. replicated in all of the directories,for redundancy.</description> 
  8. <final>true</final> 
  9. </property> 
  10. <property> 
  11. <name>dfs.datanode.data.dir</name> 
  12. <value>file:/usr/lib/hadoop-2.0.0-alpha/workspace/hadoop_space/hadoop23/dfs/data</value> 
  13. <description>Determines where on the local filesystem 
  14. an DFS data node should store its blocks.If this is a comma-delimited
  15.  list of directories,then data will be stored in all named directories,
  16. typically on different devices.Directories that do not exist are ignored.</description> 
  17. <final>true</final> 
  18. </property> 
  19. <property> 
  20. <name>dfs.replication</name> 
  21. <value>1</value> 
  22. </property> 
  23. <property> 
  24. <name>dfs.permission</name> 
  25. <value>false</value> 
  26. </property> 
  27. </configuration> 

    路徑

file:/home/hadoop/workspace/hadoop_space/hadoop23/dfs/name與

file:/home/hadoop/workspace/hadoop_space/hadoop23/dfs/data

是計算機(jī)中的一些文件夾,用于存放數(shù)據(jù)和編輯文件的路徑必須用一個詳細(xì)的URI描述。

  (4)在 /etc/hadoop 使用以下內(nèi)容創(chuàng)建一個文件mapred-site.xml

 

  1. <configuration> 
  2. <property> 
  3. <name>mapreduce.framework.name</name> 
  4. <value>yarn</value> 
  5. </property> 
  6. <property> 
  7. <name>mapreduce.job.tracker</name> 
  8. <value>hdfs://10.1.50.170:9001</value> 
  9. <final>true</final> 
  10. </property> 
  11. <property> 
  12. <name>mapreduce.map.memory.mb</name> 
  13. <value>1536</value> 
  14. </property> 
  15. <property> 
  16. <name>mapreduce.map.java.opts</name> 
  17. <value>-Xmx1024M</value> 
  18. </property> 
  19. <property> 
  20. <name>mapreduce.reduce.memory.mb</name> 
  21. <value>3072</value> 
  22. </property> 
  23. <property> 
  24. <name>mapreduce.reduce.java.opts</name> 
  25. <value>-Xmx2560M</value> 
  26. </property> 
  27. <property> 
  28. <name>mapreduce.task.io.sort.mb</name> 
  29. <value>512</value> 
  30. </property> 
  31. <property> 
  32. <name>mapreduce.task.io.sort.factor</name> 
  33. <value>100</value> 
  34. </property> 
  35. <property> 
  36. <name>mapreduce.reduce.shuffle.parallelcopies</name> 
  37. <value>50</value> 
  38. </property> 
  39. <property> 
  40. <name>mapred.system.dir</name> 
  41. <value>file:/usr/lib/hadoop-2.0.0-alpha/workspace/hadoop_space/hadoop23/mapred/system</value> 
  42. <final>true</final> 
  43. </property> 
  44. <property> 
  45. <name>mapred.local.dir</name> 
  46. <value>file:/usr/lib/hadoop-2.0.0-alpha/workspace/hadoop_space/hadoop23/mapred/local</value> 
  47. <final>true</final> 
  48. </property> 
  49. </configuration> 

 

    路徑:

file:/home/hadoop/workspace/hadoop_space/hadoop23/mapred/system與

file:/home/hadoop/workspace/hadoop_space/hadoop23/mapred/local

 為計算機(jī)中用于存放數(shù)據(jù)的文件夾路徑必須用一個詳細(xì)的URI描述。

   (5)編輯yarn-site.xml

      

  1.  <configuration> 
  2. <property> 
  3. <name>yarn.resourcemanager.address</name> 
  4. <value>10.1.50.170:8080</value> 
  5. </property> 
  6. <property> 
  7. <name>yarn.resourcemanager.scheduler.address</name> 
  8. <value>10.1.50.170:8081</value> 
  9. </property> 
  10. <property> 
  11. <name>yarn.resourcemanager.resource-tracker.address</name> 
  12. <value>10.1.50.170:8082</value> 
  13. </property> 
  14. <property> 
  15. <name>yarn.nodemanager.aux-services</name> 
  16. <value>mapreduce.shuffle</value> 
  17. </property> 
  18. <property> 
  19. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
  20. <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
  21. </property> 
  22. </configuration> 

 

  (6) 在 /etc/hadoop 目錄中創(chuàng)建hadoop-env.sh 并添加:

export HADOOP_FREFIX=/usr/lib/hadoop-2.0.0-alpha

export HADOOP_COMMON_HOME=${HADOOP_FREFIX}

export HADOOP_HDFS_HOME=${HADOOP_FREFIX}

export PATH=$PATH:$HADOOP_FREFIX/bin

export PATH=$PATH:$HADOOP_FREFIX/sbin

export HADOOP_MAPRED_HOME=${HADOOP_FREFIX}

export YARN_HOME=${HADOOP_FREFIX}

export HADOOP_CONF_HOME=${HADOOP_FREFIX}/etc/hadoop

export YARN_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop

export JAVA_HOME=/usr/lib/jvm/java-7-sun

   另,需要yarn-env.sh中充填相同的內(nèi)容,再配置到各節(jié)點。

  配置過程中遇到的問題:

  ▼在瀏覽器中l(wèi)ocalhost:8088中,只能看到主節(jié)點的信息,看不到datanode的信息。

解決方法:在重新配置yarn.xml(以上為修改后內(nèi)容)后已經(jīng)可以看到兩個節(jié)點,但啟動后有一個datanode會自動關(guān)閉。

  ▼在糾結(jié)了很長時間kerbose的問題后,才找到運行不能的原因是這個提示:

  INFO mapreduce.Job: Job job_1340251923324_0001 failed with state FAILED due to: Application application_1340251923324_0001 failed 1 times due to AM Container for appattempt_1340251923324_0001_000001 exited with  exitCode: 1 due to:Failing this attempt.. Failing the application.

  按照一個國外友人的回貼[6]fs.deault.name -> hdfs://localhost:9100 in core-site.xml ,mapred.job.tracker - > http://localhost:9101 in mapred-site.xml,錯誤提示發(fā)生改變。再把hadoop-env.sh中的內(nèi)容copy到y(tǒng)arn-env.sh中,平臺就可以勉強(qiáng)運行了(還是有報警)

5.初始化hadoop

  首先格式化 namenode,輸入命令 hdfs namenode –format;

 

  然后開始守護(hù)進(jìn)程 hadoop-daemon.sh start namenode 和 hadoop-daemon.sh start datanode或(可以同時啟動:start-dfs.sh);然后,開始 Yarn 守護(hù)進(jìn)程運行 yarn-daemon.sh start resourcemanager和 yarn-daemon.sh start nodemanager(或同時啟動: start-yarn.sh)。

  最后,檢查守護(hù)進(jìn)程是否啟動運行 jps,是否輸出以下結(jié)果:

  在datanode上jps,有以下輸出:

  瀏覽UI,打開 localhost:8088 可以查看資源管理頁面。

  結(jié)束守護(hù)進(jìn)程stop-dfs.sh和stop-yarn.sh(或者同時關(guān)閉stop-all.sh)。

原文鏈接:http://wenluoxicheng.blog.163.com/blog/static/192519939201325114018477/

責(zé)任編輯:彭凡 來源: 網(wǎng)易博客
相關(guān)推薦

2015-08-26 10:18:40

hbase

2012-11-07 17:25:46

hadoopUbuntu 12.0

2010-11-25 16:48:20

HadoopHbase

2021-09-03 06:46:35

CouponsLinux環(huán)境

2022-09-27 12:00:58

HadoopK8S開源

2024-07-09 08:15:26

鴻蒙PythonC++

2017-02-17 09:14:14

Hadoop

2021-02-03 14:30:30

Linux并發(fā)內(nèi)核

2021-11-12 08:21:25

SQL ServerLinux數(shù)據(jù)庫

2013-06-13 10:39:54

Hadoop2.0.4

2021-05-16 07:44:01

Hadoop大數(shù)據(jù)HDFS

2010-06-04 18:29:02

Hadoop單機(jī)模式

2020-12-18 09:15:16

LinuxVue命令

2022-02-09 15:44:20

RocketMQLinux系統(tǒng)

2010-06-03 13:21:07

HadoopHBase

2010-03-02 09:10:41

Visual Stud

2011-01-14 11:27:02

Linux制作網(wǎng)頁

2013-09-16 10:40:44

Sizzle

2010-06-04 14:12:57

Hadoop開發(fā)環(huán)境

2013-05-27 14:13:51

Hadoop 2.0.
點贊
收藏

51CTO技術(shù)棧公眾號