付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
概 系統(tǒng)特 使用場 術 目 先決條 支持平 所需軟 安裝軟 ....................................................................................................................................運行Hadoop集群的準備工 配 免ssh設 執(zhí) Slave(60,245上)配 初始化文件系 啟動 停止 測 管理界面與命 hdfs運行狀態(tài)界 Map-reduce的運行狀態(tài)界 直接令行查 運行的進程查 架構分 HDFS的三個重要角 HDFS設計特 算法介 Hadoop框架下的 錯誤!未定義書簽 經(jīng)驗總 新增節(jié) 刪除節(jié) datanode啟動失敗,各slave節(jié)點的namespaceIDs與masters不 taskTracker和jobTracker啟動失 Toomanyfetch- 能夠啟動datanode,但無法,也無法結束的錯 解決hadoopOutOfMemoryError問題 與HDFS有關的地址及端口屬 與MapReduce有關的地址及端口屬 附 配置文 集群配置說 概什么是HadoopApacheSoftwareFoundation2005Lucene的子項目Nutch的一部分正式引入。它受到最先由Lab開發(fā)的MapReduce和FileSystem的啟發(fā)。2006年3月份,MapReduce和NutchDistributedFileSystem(NDFS)分別被納入稱為Hadoop的項目中。Hadoop并不僅僅是一個用于的分布式文件系統(tǒng),而是設計用來在由通用計算設備組成的大型集群上執(zhí)行分布式應用的基礎框架。它由Apache開發(fā)。用戶可以在不了解Hadoop是一個可以更容易開發(fā)和運行處理大規(guī)模數(shù)據(jù)的軟件平臺。下圖是Hadoop的體系結Hadoop框架中最的設計就是:MapReduce和HDFSHDFS是Hadoop分布式文件系統(tǒng)(HadoopDistributedFileSystem)的縮寫,為分布為什么要選擇系統(tǒng)使用術 儲。HDFS了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面數(shù)據(jù)。從看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊在一組Datanode上。Datanode負責處理文件系統(tǒng)客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進行Secondnamenode:光從字面上來理解,很容易讓一些初學者先入為主的認為:SecondaryNameNode(snn)NameNode(nn)的熱備進程。其實不是。snnnamenodeHDFSmetadatanamenode重啟的時間。JobtrackerTasktracherJobTrackerMapReducejobHadoopJobTrackertask,slavetask。要,一般情況應該把JobTracker部署在單獨的機器上。Hadoop的單機部署mon/docs/current/singlenodesetup.html#Supported+Plat目Win32平臺是作為開發(fā)平臺支持的。由于分布式操作尚未在Win32平臺上充分測試,以Linux為例:$sudoapt-getinstall$sudoapt-getinstall地址 運行Hadoop集群的準備$單機模式的操作下面的實例將已解壓的conf $$mkdir$cpconf/*.xml$cat 偽分布式模式的操作方個獨立的Java進程運行。配hadoop-site.xml文件變成三個配置文件core-site.xml,hdfssite.xml,mapred-site.xml.conf/core-conf/hdfs-conf/mapred-免ssh設$ssh$ssh-keygen-tdsa-P''-f$cat~/.ssh/id_dsa.pub>>執(zhí)首先使hadoop命令HadoopFileSystemHDFS)進行格式化首先,請namenodeDFS文件系統(tǒng)進行格式化。在安裝過程中完成了這個步驟,但是了解是否需STARTUP_MSG:StartingNameNode host=TEST085/06 args=[-format] build1099333;compiledby'oom'onWedMay 407:57:50PDT201111/07/1217:47:12INFOutil.GSet:VM=32-11/07/1217:47:12INFOutil.GSet:2%maxmemory=19.33375=2^22=419430411/07/1217:47:13INFOnamenode.FSNamesystem:fsOwner=hadoop11/07/1217:47:13INFOnamenode.FSNamesystem:supergroup=supergroup 11/07/1217:47:13INFOnamenode.FSNamesystem:isAccessTokenEnabled=falseaccessKeyUpdateInterval=0min(s),accessTokenLifetime=0min(s)11/07/1217:47:13INFOnamenode.NameNode:Cachingfilenamesoccuringmorethan10times11/07/1217:47:13INFOcommon.Storage:Imagefileofsize112savedin0seconds.11/07/1217:47:13INFOcommon.Storage:Storagedirectory/tmp/hadoop-hadoop/dfs/namehasbeensuccessfullyformatted.Hadoop[hadoop@TEST085hadoop-]$bin/start- exportHADOOP_SSH_OPTS="-p1234"--$bin/hadoopfs-putconf$bin/hadoopfs-getoutput$cat$bin/hadoopfs-catHadoop5個守護進程:namenode、secondarynamenode、datanode、jobtracker和tasktracker。在啟動每個守護進程時,會看到一些相關信息(指出日志的位置)。每個守護進程都在運行。圖1說明完成啟動之后偽分布式配置1.HadoopHadoop集群搭建過程手記參考: /cluster85)60(160),54(254),架構規(guī)化免SSH設名稱節(jié)點。2)以hadoop(85)ssh-keygen-trsa 到當前位置,命名為然后執(zhí)行命令ssh,3)接下來,同樣也hadoop用戶登陸數(shù)據(jù)節(jié)點服務器(160,254),創(chuàng)建600權限 od600.ssh);再把名稱服務器上的到數(shù) Hadoop軟件安至少需要將JAVA_HOME設置為Java安裝根路徑(安裝過程參考“3hadoop。##Thejavaimplementationtouse.exportJAVA_HOME=/usr/local/java--修改成你自jdk安裝#The umamountofheaptouse,inMB.Defaultis1000.exportHADOOP_HEAPSIZE=200 Master(85)配hadoop0.20版本,配置文件由以前的hadoop-site.xml文件變成三個配置文件core-site.xml,進行獨立開發(fā),配置文件也獨立了。[[root@5conf]#catcore-<?xml<?xml<?xmlTheactualnumberofreplicationscanbespecifiedwhenthefileiscreated.Thedefaultisusedifreplicationisnotspecifiedincreatetime.<?xml<?xml在/home/hadoopbashrc加入exportexportexportPATH=/root/hadoop/hadoop/bin:$PATHSlave(60,245上)配置在Slave(60,245上)上的配置文件如下(hdfs-site.xml不需要配置<?xml<?xml<?xml<?xml初始化namenode,HDFS$bin/hadoopnamenode 人害怕真的是格式化自己的文件系統(tǒng)了,其實大可不必擔心,namenodeformat只是初始化一些和文件而已。啟動startingnamenode,logging60:startingdatanode,loggingto45:startingdatanode,loggingto5:startingstartingnamenode,logging60:startingdatanode,loggingto45:startingdatanode,loggingto5:startingsecondarynamenode,loggingstartingstartingjobtracker,logging60:startingtasktracker,loggingto45:startingtasktracker,loggingto 第一步啟動[hadoop@TEST085[hadoop@TEST085hadoop-]$bin/start-dfs.shstartingnamenode,loggingto60:startingdatanode,loggingto45:startingdatanode,loggingto 5:startingsecondarynamenode,logging[hadoop@TEST085[hadoop@TEST085hadoop-]$bin/start-mapred.shstartingjobtracker,loggingto60:startingtasktracker,loggingto45:startingtasktracker,logging 注:實際應用中amede和othe不在同一臺服務器上,則需要按下面在分配的NameNode上,運行下面令啟動bin/start-dfs.sh會參照NameNode${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上啟動DataNode守護進程。在分配的JobTracker上,運行下面令啟動bin/start-mapred.sh會參照JobTracker${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上啟動TaskTracker守護進程。停止在分配的NameNode上,執(zhí)行下面令停止在分配的JobTracker上,運行下面令停止在hdfs上創(chuàng)建test1文件夾,上傳文件到 [hadoop@TEST085hadoop-]$[hadoop@TEST085hadoop-]$bin/hadoopfs-mkdirtest1[hadoop@TEST085hadoop-]$bin/hadoopfs-put./README.txttest1[hadoop@TEST085hadoop-]$bin/hadoopfs-lsFound1 -hadoop 02011-07-2119:58運行一個map-reduce示例程序wordcount,運行結果如下11/07/2215:21:29INFOinput.FileInputFormat:Totalinputpathstoprocess:111/07/2211/07/2215:21:29INFOinput.FileInputFormat:Totalinputpathstoprocess:111/07/2215:21:30INFOmapred.JobClient:Runningjob:job_201107221440_000111/07/2215:21:31INFOmapred.JobClient:map0%reduce0%11/07/2215:21:51INFOmapred.JobClient:map100%reduce11/07/2215:22:09INFOmapred.JobClient:map100%reduce11/07/2215:22:15INFOmapred.JobClient:Jobcomplete:job_201107221440_000111/07/2215:22:15INFOmapred.JobClient:Counters:25 Job11/07/2215:22:15INFOmapred.JobClient: Launchedreducetasks=111/07/2215:22:15INFOmapred.JobClient: 11/07/2215:22:15INFOmapred.JobClient: Totaltimespentbyallreduceswaitingafterreservingslots(ms)=011/07/2215:22:15INFOmapred.JobClient: Totaltimespentbyallmapswaitingafterreservingslots11/07/2215:22:15INFOmapred.JobClient: Launchedmaptasks=111/07/2215:22:15INFO Data-localmap 11/07/2215:22:15INFOmapred.JobClient: FileOutputFormatCounters11/07/2215:22:15INFOmapred.JobClient: BytesWritten=130611/07/2215:22:15INFOmapred.JobClient: 11/07/2215:22:15INFOmapred.JobClient: 11/07/2215:22:15INFOmapred.JobClient: FileInputFormatCounters11/07/2215:22:15INFOmapred.JobClient: BytesRead=136611/07/2215:22:15INFOmapred.JobClient: Map-ReduceFramework11/07/2215:22:15INFOmapred.JobClient: 11/07/2215:22:15INFOmapred.JobClient: Mapoutputmaterializedbytes=183611/07/2215:22:15INFOmapred.JobClient: Combineoutputrecords=13111/07/2215:22:15INFOmapred.JobClient: Mapinputrecords=3111/07/2215:22:15INFOmapred.JobClient: Reduceshufflebytes=183611/07/2215:22:15INFOmapred.JobClient: 11/07/2215:22:15INFOmapred.JobClient: SpilledRecords=26211/07/2215:22:15INFOmapred.JobClient: Mapoutputbytes=205511/07/2215:22:15INFOmapred.JobClient: Combineinputrecords=17911/07/2215:22:15INFOmapred.JobClient: Mapoutputrecords=17911/07/2215:22:15INFOmapred.JobClient: 11/07/2215:22:15INFOmapred.JobClient: Reduceinputrecords=131[hadoop@TEST085hadoop-]$bin/hadoopfs-lsoutput1查看輸出結果文件,這個文件在hdfs上[hadoop@TEST085[hadoop@TEST085hadoop-]$hadoopfs-lsoutput1Found3items 3hadoop 02011-07-2215:22 -hadoop 02011-07-2215:21 3hadoop [hadoop@TEST085hadoop-]$hadoopfs-catoutput1/part-r- 1 1111740.13)<>1111 11 管理界面與命令hdfs運行狀態(tài)查看hdfs運行狀態(tài),可以通過web;Map-reduce查看map-reduce信息,可以通過web界面來直接令行查[root@5~]#hadoopdfsadmin-reportConfiguredCapacity:291104653312(271.11GB)PresentCapacity:74432905216(69.32DFSRemaining:74432823296(69.32DFSUsed:81920(80DFSUsed%:Underreplicatedblocks:Blockswithcorruptreplicas:Missingblocks:Datanodesavailable:2(2total,0Name:missionStatus:ConfiguredCapacity:37169479680(34.62DFSUsed:36864(36NonDFSUsed:30097534976(28.03DFSRemaining:7071907840(6.59DFSUsed%:DFSRemaining%:Lastcontact:FriJul2215:16:36CSTName:missionStatus:ConfiguredCapacity:253935173632(236.5DFSUsed:45056(44NonDFSUsed:186574213120(173.76DFSRemaining:67360915456(62.73DFSUsed%:DFSRemaining%:Lastcontact:FriJul2215:16:37CST 274400.95.8119557659428pts/0 /usr/local/java/bin/java-Dproc_namenode- - 178400.53.5118509236196 184350.94.2119983642744pts/0 /usr/local/java/bin/java-Dproc_jobtracker- -[hadoop@TEST085hadoop-]$netstat-ant|grep0000000000000000 111271.36.4117958432656S 111271.36.4117958432656S /usr/local/java/bin/java-Dproc_datanode-Xmx1000m- 112150.87.0118813235660S /usr/local/java/bin/java-Dproc_tasktracker--[hadoop@DBSERVER/]$netstat-ant|grep0000【架構參考:mo /hdfsdesign.html】Hadoop有許多元素構成。最底部是HadoopDistributedFileSystem(HDFS),它Hadoop集群中所有節(jié)點上的文件,與HDFS相關的服務有NameNode、SecondaryNameNodeDataNodeHDFS(對于本文)MapReduce引擎,該引擎由JobTrackers和TaskTrackers組成(MapReduce相關的服務有JobTracker和TaskTracker兩種)。Hadoop集群中有兩種角色:masterslave,mastermastermaster。對外部客戶機而言,HDFS就像一個傳統(tǒng)的分級文件系統(tǒng)??梢詣?chuàng)建、刪除、移動這是由它自身的特點決定的。這些節(jié)點包括NameNode(僅一個),它在HDFS提供元數(shù)據(jù)服務;DataNode,它為HDFS提供塊。5-1Hadoop這與傳統(tǒng)的RAID架構大不相同。塊的大?。ㄍǔ?4MB)和的塊數(shù)量在創(chuàng)建文件時由客戶機決定。NameNode可以控制所有文件操作。HDFS的所有通信都基于標準的TCP/IP協(xié)議。HDFS圖5-2:HDFS結構示上面這個圖很經(jīng)典,圖中展現(xiàn)了整個HDFS三個重要角色:NameNodeDataNode和ClientNameNode可以看作是分布式文件系統(tǒng)中的管理者,主要負責管理文件系統(tǒng)名空間、集群配置信息和塊的等。NameNode會將文件系統(tǒng)的Meta-data在內(nèi)DataNode是文件的基本單元,它將Block在本地文件系統(tǒng)中,保存了Block文件寫入Client向NameNode文件文件BlockDataNode開始直接相互HDFS下面說說HDFS的幾個設計特點(對于框架設計值得借鑒數(shù)據(jù)(場景為DataNode失敗、需要平衡DataNode的利用率和需要平衡DataNodeNameNode當客戶端要寫入文件到DataNode上,首先客戶端一個Block然后寫到第一個DataNode算法 具體過程序如下: Map , 上述就是MapReduce大致處理過程,在Map前還可能會對輸入的數(shù)據(jù)有Split(分割)Hadoop框架下的MapReduce3MapReduce函數(shù)和一個main函數(shù)。main函數(shù)將作業(yè)控制和文件輸入/輸出結合起來。在這點上,Hadoop提供了大量的接口和抽象類,從而為Hadoop應用程序開發(fā)提供許多工具,MapReduce本身就是用于并行處理大數(shù)據(jù)集的軟件框架。MapReduce的根源是函數(shù)mapreduce函數(shù)。它由兩個可能包含有許多實例(許多Map和Reduce)的操作組成。Map函數(shù)接受一組數(shù)據(jù)并將其轉換為一個鍵/值對列表,輸入域中的每個元素對應一個鍵/值對。Reduce函數(shù)接受Map函數(shù)生成的列表,然后根據(jù)它們的示例在這個域上運行Map函數(shù)將得出以下的鍵/值對列表:(one,(one,1)(small,1)(step,1)(for,1)(man,(one,1)(giant,1)(leap,1)(for,1)(mankind,(one, (small,1)(step,(one, (small,1)(step, (for,2)(man,(giant,1)(leap,1)(mankind,onesmallstepformanonegiantleapformankindMapReduce函數(shù),然后將這兩個鍵/值對列Reduce函數(shù),這時得到與前面一樣的結果。換句話說,可以在輸入域并行使用相同的操作,得到的結果是一樣的,但速度更快。這便是MapReduce的;它示例Input<行號,文本內(nèi)容Map:<行號,文本內(nèi)容List<<單詞,數(shù)量Reduce:<單詞List<數(shù)量1<單詞,數(shù)量合計Output:List<<單詞,數(shù)量Hadoop—客戶機在單個主系統(tǒng)上啟動的MapReduce應用程序稱為JobTracker。類似于NameNode,它是Hadoop集群中惟一負責控制MapReduce應用程序的系統(tǒng)。在應用程序提交之后,將提供包含在HDFS中的輸入和輸出 理量和位置)確定如何創(chuàng)建其他TaskTracker從屬任務。MapReduce應用程序被TaskTrackerJobTracker5-5顯示一個示例集群中的工作分圖5-5.顯示處理和的物理分布的Hadoop集群下面綜合MapReduce和HDFS來看Hadoop的結構圖3:Hadoop結構示意MovingData。就是在分布式處理中,移動數(shù)據(jù)的代價總是高于轉移計算的代價。簡單來說對外部客戶機而言,HDFS就像一個傳統(tǒng)的分級文件系統(tǒng)??梢詣?chuàng)建、刪除、移動或重命HDFS的架構是基于一組特定的節(jié)點構建的(1),這是由它務;DataNode,它為HDFS提供塊。由于僅存在一個NameNode,因此這是HDFSHadoop Hadoop命令常規(guī)選項描-D-fs-jt-files逗號分隔的文件列表指定要拷貝到mapreduce集群的文件的逗號分隔的列表。只適用于job。列表。只適用于job。用戶命令用法:hadooparchive- Hadoop命令distcp用于遞歸地拷貝文件或 用法:hadoopdistcp<srcurl><desturl>srcurl源UrldesturlUrlfs(FSS命令用法:hadoopFSS命令指調(diào)用文件系統(tǒng)(FS)S命令應使用bin/hadoopfs<args>的形式。所有的的FSs命令使用URI路徑作為參數(shù)。URI格式是scheme://authority/path。對HDFS文件系統(tǒng),scheme是hdfs,對本地文件系統(tǒng),scheme是file。其中schemeauthority參數(shù)都是可選的,如果未加指定,就會使用配置中指定的默認scheme。一個HDFS文件或比如出錯信息會輸出到stderr,其他信息輸出到stdout。使用方法:hadoopfscatURI[URI…]將路徑指定文件的內(nèi)容輸出到stdout。hadoopfs-cathadoopfs-cat和put命令相似。- Hadoopfs–cphadoopfs–cp使用方法:hadoopfsdu此HadoopS命令顯示 Hadoopfs使用方法:hadoopfs使用方法:hadoopfs使用方法:hadoopfsget[-ignorecrc][-文件以及CRC信息。hadoopfs–gethadoopfs–get 用法:hadoop命令選項描述用法:hadoopbalancerthreshold命令選 描用法:hadoopdatanode命令選 描-dfsadmindfsadmin-help命令能列出所有當前支持令。比如: -finalizeUpgrade用法:hadoop用法:hadoopnamenode[-format|[-upgrade|[-rollback|[-|[-命令選 描----- 用法:hadoopsecondarynamenode[-checkpoint[force]]|[-命令選項描-用法:hadoop這部分內(nèi)容其實可以通過命令的Help以及介紹了解,這里主要側重于介紹一下我用的比較多的幾個命令。Hadoopdfs這個命令后面加參數(shù)就是對于HDFSLinux操作系統(tǒng)的Hadoopdfs–ls就是查看/usr/root Hadoopdfs–rmrxxx就是刪 Hadoop的應用Hadoop利用Hadoop的好方法。種搜索引擎的,比如Amazon的A9和用于查找酒信息的AbleGrape垂直搜索引為一個并行數(shù)據(jù)處理引擎,它的表現(xiàn)非常突出。Hadoop最有趣的方面之一是MapandReduceWebWeb頁面作為輸當前,Yahoo!HadoopLinux10,000多個內(nèi)核組成,有超過5PB字節(jié)的分布到各個DataNode。在它們的Web索引差不多有一萬億個AmazonElasticComputeCloud(EC2)構建一個包含20個節(jié)點的虛擬集群。事實上,使用Hadoop和EC2在36個小時內(nèi)將4TB的TIFF圖像(包括405K大TIFF圖像,3.3MSGML405KXML文件)800KWebPNG圖像。這種處理稱為云計算,它是一種展示Hadoop的的獨特方式。 Hadoop的系通過從hadoophadoop-metrics文件中就可以知道hadoopGanglia是有支持的,而且hadoop自家的Chukwa。以下收集了一些比較好的資料以作參考:Chukwa在的應用實 hadoop狀態(tài)分析系統(tǒng) hadoopganglia GangliaNagios,第1部分:Ganglia GangliaNagios,第2部分:使用Nagios hadoopwikimonitoring-hadoop-clusters-using-NameNode與JobTracker單點故障說瘓或者說主master癱瘓,整個Hadoop也就癱瘓了。對于主master的工作(如備份、重啟經(jīng)驗總結和注意事項(這部分是我在使用過程中花了一些時間走的彎路MasterSlave上的幾個conf配置文件不需要全部同步,如果確定都是通Master去啟動和關閉,那么Slave機器上的配置不需要去。但如果希望在任意一臺機Hadoop,那么就需要全部保持一致了。MasterSlave機器上的/etc/hosts中必須把集群中機器都配置上去,就算在各IPIP就不需要去配置Host,結果發(fā)現(xiàn)在執(zhí)行Reduce的時候總是卡住,在拷貝的時候就無法繼續(xù)下去,如果在新增了節(jié)點或者刪除節(jié)點的時候出現(xiàn)了問題,首先就去刪除Slave的hadoop.tmp.dir,然后重新啟動試試看,如果還是不行那就干脆把Master的hadoop.tmp.dir刪除(dfs上的數(shù)據(jù)也會丟失),Master的hadoop.tmp.dir,那么就需要重新namenode–format。Map任務個數(shù)以及Reduce任務個數(shù)配置。前面分布式文件系統(tǒng)設計提到一個文件默認dfs.block.size應該是64M,也就是說如果你放置到HDFS上的數(shù)據(jù)小于64,那么將只有一個Block,此時會被放置到某一個DataNode中,這個可以通過使用命令:hadoopdfsadmin–report就可以看到各個節(jié)點的情況。也可以直接去某一個DataNode查看 urrent就可以看到那些block了。Block的數(shù)量將會直接影響到Map的個數(shù)。當然可以通過配置來設定Map和Reduce的任務個數(shù)。Map的個數(shù)通常默認和HDFS需要處理的blocks相同。也可以通過配置Map的數(shù)量或者配置minimumsplitsize來設定,實 總的來說出了問題或者啟動的時候最好去看看日志,這樣心里有底。新增IP(master)conf/slaves文件。$cd$bin/hadoop(或者:bin/start-也可調(diào)用bin/start-balancer.sh命令執(zhí)行,也可加參數(shù)-threshold5threshold是平衡閾值,默認是10%,值越低各節(jié)點越平衡,但消耗時間也更長。balancer也可以在有 job的cluster上運行,默認必須確保slave的firewall已關閉確保新的slave的ip已經(jīng)添加到master及其他slaves的/etc/hostsmaster及其他slave的ip添加到新的slave的/etc/hosts注:在0.21中執(zhí)行bin/hadoop-daemon.shstartdatanode會提示該命令已,建議使用./hdfsdatanode命令,但是用后者反而會拋異常。刪除比如我原來有10個節(jié)點的集群.現(xiàn)在停掉2個,但數(shù)據(jù)不能丟失,只能讓它們的數(shù)據(jù)轉8這道過程就是mission.我們不能直接把2停掉,要在停掉之前確定要下架的機器首先namenode務HADOOP_HOME下建立一excludes件.它是一個文本,里面每行就是想要停掉的主機名或IP.這里excludes放在$HADOOP_HOME下 修改conf/hdfs-site.xml文件/ 強制重新加載配置然后你可以通過bin/hadoopdfsadmin-report就可以查看到類似這樣的信息:DatanodesDatanodesavailable:2(2total,0Name:missionStatus: missioninprogressConfiguredCapacity:37169479680(34.62GB)DFSUsed:94208(92NonDFSUsed:30112800768(28.04GB)DFSRemaining:7056584704(6.57GB)DFSUsed%:0%DFSRemaining%:Lastcontact:TueJul2615:31:17CSTName:missionStatus:ConfiguredCapacity:253935173632(236.5DFSUsed:94208(92NonDFSUsed:188234915840(175.31GB)DFSRemaining:65700163584(61.19GB)DFSUsed%:0%DFSRemaining%:Lastcontact:TueJul2615:31:16CST可以看到160在停止中( missionStatus: missioninprogress),執(zhí)行完成 missionStatus: 再次編輯excludes文件添加允許的節(jié)點到列表中(dfs.hosts里來直接去掉節(jié)點,不做數(shù)據(jù)副本備份(dfs.hosts里去掉主機名退服的逆操作——excludedfs.hostsission的節(jié)點的退服,也就是 issioninprogress的節(jié)點重新變Normal(webindatanode啟動失敗,各slave節(jié)點的namespaceIDs與masters /app/hadoop/tmp/dfs/data:namenodenamespaceID=308967713;datanodenamespaceID=113030094atorg.apache.hadoop.dfs.DataStorage.doTransition(DataStorage.java:281)atorg.apache.hadoop.dfs.DataNode.startDataNode(DataNode.java:230)atatorg.apache.hadoop.dfs.DataNoderun(DataNode.java:1146)atorg.apache.hadoop.dfs.DataNodemain(DataNode.java:1326)Workaround1:StartfromIcantestifythatthefollowingstepssolvethiserror,butthesideeffectswon’tmakeyouhappy(meneither).ThecrudeworkaroundIhavefoundisto:StoptheDeletethedatadirectoryontheproblematicDataNode:thedirectoryisspecifiedbydfs.data.dirinconf/hdfs-site.xml;ifyoufollowedthistutorial,therelevantdirectoryis/app/hadoop/tmp/dfs/dataReformattheNameNode(NOTE:allHDFSdataislostduringthisprocess!)RestarttheWhendeletingalltheHDFSdataandstartingfromscratchdoesnotsoundlikeagoodidea(itmightbeokduringtheinitialsetup/testing),youmightgivethesecondapproachatry.BigthankstoJaredStehlerforthefollowingsuggestion.Ihavenottesteditmyselfyet,butfeelfreetotryitoutandsendmeyourfeedback.Thisworkaroundis“minimallyinvasive”asyouonlyhavetoeditonefileontheproblematicDataNodes:StoptheEditthevalueofnamespaceIDin/current/VERSIONtomatchthevalueofthecurrentNameNodeRestarttheDataNodeIfyoufollowedtheinstructionsinmytutorials,thefullpathoftherelevantfilesDataNode:/app/hadoop/tmp/dfs/d (background:dfs.data.dirisbydefaultsetto${hadoop.tmp.dir}/dfs/data,andwesethadoop.tmp.dirinthistutorialto/app/hadoop/tmp).IfyouwonderhowthecontentsofVERSIONlooklike,here’soneof#contentsof/current/VERSIONCannotstarttasktrackerbecausejava.lang.RuntimeException:Notahost:portpair:需配置mapred.job.tracker屬性,在mapred-site.xml的configuration節(jié)點中配置(job-trackerhost為
vi/etc/security/limits.confsoftnofilehardnofile$cd$sudovi添 Toomanyfetch-要求本機ip要求要包含所有的服務器ip3mapreducereduce=0%conf/hadoop-env.sh中的export能夠啟動datanode,但無法,也無法結束的錯namenode用來存放NameNode持久名字空間及事務日志的本地文件系統(tǒng)路徑刪除,同時將各DataNode上的dfs.data.dir的路徑DataNode存放塊數(shù)據(jù)的本地文件系統(tǒng) 的那個版本(可以查看/home/hadoop/NameDurrent 上面記錄了版本信息),在重新格式化新的分布式系統(tǒng)文件時,最好先刪除NameData目java.io.IOException:Couldnotobtain java.lang.OutOfMemoryError:Javaheap出現(xiàn)這種異常,明顯是jvm內(nèi)存不夠得原因,要修改所有的datanode的jvmJava-Xms1024m-一般jvm的最大內(nèi)存使用應該為總內(nèi)存大小的一半,我們使用的8G內(nèi)存,所以設置為解決 OutOfMemoryError問題<value>-Xmx800M-WiththerightJVMsizeinyourhadoop-site.xml,youwillhavetocopythistoallmaprednodesandrestartthecluster.-Hadoopwhileindexing.wheniusenutch1.0,getthisHadoopjava.io.IOException:Jobfailed!at我這兒出現(xiàn)的是outofmemory解決辦法是在給運行主類org.apache.nutch.crawl.Crawl加上參數(shù):- 部署Hadoop集群時,master與slave的均要關閉。關閉的根本目的也是為了圖與HDFS常用值:hdfs://[或IP地址]值應該是唯一一個NameNode主服務器的地址。與 有關的地址及端口屬mapred.job.tracker的值應該是唯一一個JobTracker主服務器的地址。附Hadoop歷Hadoop這個名字不是一個縮寫,它是一個虛構的名字。該項目的創(chuàng)建者,DougCutting如此解釋Hadoop著可以大致從其名字猜測其功能,例如,jobtracker的任務就是MapReduce作業(yè)。從頭開始構建一個網(wǎng)絡搜索引擎是一個雄心勃勃的目標,不只是要編寫一個復雜的、能夠抓取和索引將無法擴展到擁有數(shù)十億網(wǎng)頁的網(wǎng)絡。在2003年的一篇描述分布式文件系統(tǒng)(簡稱GFS)的論文為他們提供了及時的幫助,文中稱正在使用此文件系統(tǒng)。GFS或類似的東西,可以解決他們在儲節(jié)點。在2004年,他們開始寫一個開放源碼的應用,即Nutch的分布式文件系統(tǒng)(NDFS)。2004年,了,向全世界介紹了MapReduce。2005年初,Nutch的開發(fā)者在Nutch上有了Nutch中的NDFS和MapReduce實現(xiàn)的應用遠不只是搜索領域,在2006年2月,他們從Nutch轉移出來成為一個獨立的Lucene子項目,稱為Hadoop。大同一時間,DougCutting加入雅虎,Yahoo提供一個專門的團隊和資源將Hadoop發(fā)展成一個可在網(wǎng)絡上運行的系統(tǒng)(見后文的補充材料)20082月,雅14章的案例研究和Hadoop有介紹,Hadoop的為)Web的PDF文件。這個過程歷時不到24小時,使用100臺機器運行,如果不結合亞馬遜的按小時的中聲稱,它的MapReduce實現(xiàn)執(zhí)行1TB數(shù)據(jù)的排序只用了68秒。在2009年5月,有宣稱Yahoo的團隊使用Hadoop1TB的數(shù)據(jù)進行排序只花了62秒時間。主要組成部分:Crawler,從因特網(wǎng)網(wǎng)頁;WebMap,構建一個網(wǎng)絡地圖;Indexer,為最佳頁面構建天。在2005年初,WebMap所用的基礎設施名為Dreadnaught,需要重新設計以適應節(jié)點的需求。EricBaldeschwieler(Eric14)組建了一個小團隊,我們開始設計并原型化一個新的框架(原型為GFS和與此同時,我們在關注Hadoop(當時還是Nutch的一部分)及其進展情況。20061月,雅虎聘請了Doug助真正的客戶使用這個新的框架,速度比原來預計的快許多。另一個明顯的優(yōu)點是Hadoop已經(jīng)開源,較了一個200個節(jié)點的研究集群,WebMap的計劃暫時擱置,轉而為研究用戶支持和發(fā)展Hadoop。Hadoop2004年--最初的版本(現(xiàn)在稱為HDFS和MapReduce)由DougCutting和MikeCafarella開始實施。2005年12月--Nutch移植到新的框架,Hadoop在20個節(jié)點上穩(wěn)定運行。20061月DougCutting加入--20062月--雅虎的網(wǎng)格計算團隊采用Hadoop------0611月--600--071月--研究集群到900----0810月--10TB的數(shù)據(jù)--Hadoop的幾個主要子項:HDFSHadoop(DistributedFileSystem)HDFSHadoopDistributedFileHBase:類似BigTable的分布式NoSQL列數(shù)據(jù)庫。(HBase和Avro已經(jīng)于2010年5月成為頂級Apache項目[1])參考: /cluster配置對Hadoop的配置通過 下的兩個重要配置文件完成 src/core/core-default.xmlsrc/hdfs/hdfs-default.xmlandsrc/mapred/mapred-default.xml-只讀的默認配置。conf/core-site.xmlconf/hdfs-site.xmlandconf/m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合理的施工方案(3篇)
- 相親新穎活動策劃方案(3篇)
- 折除施工方案(3篇)
- 施工現(xiàn)場施工資料歸檔制度
- 教職工專業(yè)技術培訓制度
- 罕見腫瘤的基因治療臨床試驗進展
- 罕見間質(zhì)性肺病的抗纖維化治療策略
- 2026河北石家莊市規(guī)劃館招聘派遣制人員3人備考題庫及一套完整答案詳解
- 2026四川中煙工業(yè)有限責任公司員工招聘141人備考題庫及完整答案詳解
- 罕見腫瘤的個體化治療治療策略優(yōu)化經(jīng)驗與臨床實踐
- DB31-T 1448-2023 監(jiān)獄場所消防安全管理規(guī)范
- 公司干部調(diào)研方案
- 廣州花城匯UUPARK招商手冊
- 無糾紛自愿離婚協(xié)議書
- 四川省高等教育自學考試畢業(yè)生登記表【模板】
- 專題五 以新發(fā)展理念引領高質(zhì)量發(fā)展
- GB/T 22417-2008叉車貨叉叉套和伸縮式貨叉技術性能和強度要求
- GB/T 1.1-2009標準化工作導則 第1部分:標準的結構和編寫
- 長興中學提前招生試卷
- 安全事故案例-圖片課件
- 螺紋的基礎知識
評論
0/150
提交評論