Hadoop 安装详解--新手必备
生活随笔
收集整理的這篇文章主要介紹了
Hadoop 安装详解--新手必备
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
準(zhǔn)備: 這次學(xué)習(xí),我使用的是虛擬機(jī)vmware,安裝了3臺(tái)虛擬機(jī),系統(tǒng)為centos?5(其它版本亦可),主機(jī)名依次命名為hdfs1、hdfs2、hdfs3,ip地址一次為:172.16.16.1、172.16.16.10、172.16.16.11 通過配置/etc/sysconfig/network?修改主機(jī)名 通過修改/etc/sysconfig/network-scripts/ifcfg-eth0?,配置ip等信息 將 主機(jī)hdfs1作為hadoop作為分布式文件系統(tǒng)HDFS的namenode節(jié)點(diǎn)和MapReduce?運(yùn)行過程中的?Job?Tracker?結(jié)點(diǎn), 我們將?hdfs1 稱之為主結(jié)點(diǎn)。其它兩臺(tái)機(jī)器?(hdfs2,?hdfs3)?作為?HDFS?的?Data?Node?以 及?MapReduce?運(yùn)行過程中的?Task?Tracker?結(jié)點(diǎn),這些結(jié)點(diǎn)可統(tǒng)稱為從結(jié)點(diǎn)。如你需要部署更多的機(jī)器,也是很容易的,將新加入的機(jī) 器作為?Data?Node 以及?Task?Tracker?結(jié)點(diǎn)即可,其配置過程在您看完本文后就會(huì)了。 步驟一: vi?/etc/hosts 172.16.16.10?????????hdfs2 172.16.16.11?????????hdfs3 172.16.16.1??????????hdfs1 先保證每一臺(tái)主機(jī)都能ping通其他主機(jī),ping?通其他任意節(jié)點(diǎn)的主機(jī)名 步驟二: 設(shè)置master到任意節(jié)點(diǎn)的無(wú)密碼登錄 [root@hdfs1?~]#?ssh-keygen? Generating?public/private?rsa?key?pair. Enter?file?in?which?to?save?the?key?(/root/.ssh/id_rsa):? Created?directory?'/root/.ssh'. Enter?passphrase?(empty?for?no?passphrase):? Enter?same?passphrase?again:? Your?identification?has?been?saved?in?/root/.ssh/id_rsa. Your?public?key?has?been?saved?in?/root/.ssh/id_rsa.pub. The?key?fingerprint?is: 09:ad:96:cf:9f:21:65:10:3d:39:f0:f9:99:69:3c:b2?root@hdfs1 [root@hdfs1?~]#?cd?.ssh/ [root@hdfs1?.ssh]#?mv?id_rsa.pub?id_rsahdfs1.pub [root@hdfs1?.ssh]#?touch?authorized_keys [root@hdfs1?.ssh]#?cat?id_rsahdfs1.pub?>?authorized_keys? [root@hdfs1?.ssh]#?ssh?hdfs1 Last?login:?Sat?Mar?24?12:25:53?2012?from?hdfs1 在hdfs2和hdfs3主機(jī)上,依次操作cat?id_rsahdfs1.pub?>?authorized_keys,之后,驗(yàn)證從hdfs1上其它兩個(gè)節(jié)點(diǎn)上,登錄是否需要輸入密碼?不輸入密碼是正確的 [root@hdfs1?.ssh]#?ssh?hdfs2 Last?login:?Sat?Mar?24?12:31:44?2012?from?hdfs1 [root@hdfs2?~]#? [root@hdfs1?.ssh]#?ssh?hdfs3 Last?login:?Fri?Mar?23?21:18:29?2012?from?172.16.16.110 [root@hdfs3?~]#? Ok?,?ssh驗(yàn)證均不需要密碼 步驟三:安裝jdk和hadoop,我的系統(tǒng)是32位的, cp?hadoop-1.0.1.tar.gz??jdk-6u31-linux-i586.bin??/usr/local/ chmod?755?jdk-6u31-linux-i586.bin? [root@hdfs1?local]#?./jdk-6u31-linux-i586.bin??賦予可執(zhí)行權(quán)限 tar?zxvf?hadoop-1.0.1.tar.gz???安裝hadoop? 注意:Jdk和hadoop程序是一樣的,在那個(gè)目錄下解壓包,就是將程序安裝在當(dāng)前目錄下 因?yàn)榘惭bjdk,就是安裝Java程序,看系統(tǒng)默認(rèn)的程序是否卸載掉,可以手動(dòng)刪除,然后在做一個(gè)軟連接 默認(rèn)的java [root@hdfs1?local]#?java?-version java?version?"1.6.0" OpenJDK??Runtime?Environment?(build?1.6.0-b09) OpenJDK?Client?VM?(build?1.6.0-b09,?mixed?mode) 刪除/usr/bin?的Java符號(hào)鏈接 [root@hdfs1?bin]#?rm?java rm:是否刪除?符號(hào)鏈接?“java”??Y 然后再做一個(gè)軟連接: [root@hdfs1?bin]#?java?-version java?version?"1.6.0_31" Java(TM)?SE?Runtime?Environment?(build?1.6.0_31-b04) Java?HotSpot(TM)?Client?VM?(build?20.6-b01,?mixed?mode,?sharing) 這個(gè)才是我們安裝的版本 所有的主機(jī)的Java都調(diào)整好后,開始編輯hadoop的配置文件 vi?hadoop-env.sh????????此文件指定JAVA程序的安裝目錄 添加一行,export?JAVA_HOME=/usr/local/jdk1.6.0_31 編輯:vi?core-site.xml <configuration> <property> <name>fs.default.name</name> 參數(shù)?fs.default.name?指定?Name?Node?的?IP?地址和端口號(hào),這里指定就是namenode的9000端口??? <value>hafs://hdfs1:9000</value> </property> </configuration> vi?hdfs-site.xml <configuration> <property> <name>dfs.name.dir</name> 參數(shù)?dfs.name.dir?指定?Name?Node?相關(guān)數(shù)據(jù)在本地文件系統(tǒng)上的存放位置 <value>/home/hadoop/dfs.name.dir</value> </property> <property> <name>dfs.data.dir</name> 參數(shù)?dfs.data.dir?指定?Data?Node?相關(guān)數(shù)據(jù)在本地文件系統(tǒng)上的存放位置 <value>/home/hadoop/dfs.data.dir</value> </property> <property> <name>dfs.replication</name> 設(shè)置hdfs系統(tǒng)備份文件數(shù),此值設(shè)置為2,說(shuō)明當(dāng)一個(gè)文件上傳到hdfs系統(tǒng)中,會(huì)被備份2個(gè) <value>2</value> </property> </configuration> vi?mapred-site.xml? <configuration> <property> <name>mapred.job.tracker</name> 參數(shù)?mapred.job.tracker?指定?JobTracker?的?IP?地址和端口號(hào) <value>hdfs1:9001</value> </property> </configuration> 設(shè)置主從節(jié)點(diǎn): 修 改?conf/masters?文件,將其中的?localhost?改為?hdfs1?,修改?conf/slaves?文件。?刪掉其中的 localhost,?將我們的另兩臺(tái)機(jī)器?hdfs2、hdfs3?加入,?注意每個(gè)機(jī)器一行。masters里面的是主機(jī)節(jié)點(diǎn),slaves里面是從 機(jī)節(jié)點(diǎn)。 步驟四: 同樣的配置文件,拷貝到其它兩臺(tái)slave節(jié)點(diǎn)中 [root@hdfs1?hadoop-1.0.1]#?scp?-r?conf/?root@hdfs2:/usr/local/hadoop-1.0.1/ [root@hdfs1?hadoop-1.0.1]#?scp?-r?conf/?root@hdfs3:/usr/local/hadoop-1.0.1/ 開啟hdfs防火墻端口: -A?RH-Firewall-1-INPUT?-m?state?--state?NEW?-m?tcp?-p?tcp?--dport?9000?-j?ACCEPT -A?RH-Firewall-1-INPUT?-m?state?--state?NEW?-m?tcp?-p?tcp?--dport?9001?-j?ACCEPT~ 重啟防火墻,使新添加的防火墻規(guī)則生效 步驟五: 在hdfs?節(jié)點(diǎn)上,格式化一個(gè)HDFS文件系統(tǒng) [root@hdfs1?hadoop-1.0.1]#?/usr/local/hadoop-1.0.1/bin/hadoop?namenode?-format 2/03/24?13:19:17?INFO?namenode.NameNode:?STARTUP_MSG:? /************************************************************ STARTUP_MSG:?Starting?NameNode STARTUP_MSG:???host?=?hdfs1/172.16.16.1 STARTUP_MSG:???args?=?[-format] STARTUP_MSG:???version?=?1.0.1 STARTUP_MSG:???build?=?https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0?-r?1243785;?compiled?by?'hortonfo'?on?Tue?Feb?14?08:15:38?UTC?2012 ************************************************************/ 12/03/24?13:19:17?INFO?util.GSet:?VM?type???????=?32-bit 12/03/24?13:19:17?INFO?util.GSet:?2%?max?memory?=?19.33375?MB 12/03/24?13:19:17?INFO?util.GSet:?capacity??????=?2^22?=?4194304?entries 12/03/24?13:19:17?INFO?util.GSet:?recommended=4194304,?actual=4194304 12/03/24?13:19:18?INFO?namenode.FSNamesystem:?fsOwner=root 12/03/24?13:19:18?INFO?namenode.FSNamesystem:?supergroup=supergroup 12/03/24?13:19:18?INFO?namenode.FSNamesystem:?isPermissionEnabled=true 12/03/24?13:19:18?INFO?namenode.FSNamesystem:?dfs.block.invalidate.limit=100 12/03/24?13:19:18?INFO?namenode.FSNamesystem:?isAccessTokenEnabled=false?accessKeyUpdateInterval=0?min(s),?accessTokenLifetime=0?min(s) 12/03/24?13:19:18?INFO?namenode.NameNode:?Caching?file?names?occuring?more?than?10?times? 12/03/24?13:19:18?INFO?common.Storage:?Image?file?of?size?110?saved?in?0?seconds. 12/03/24?13:19:18?INFO?common.Storage:?Storage?directory?/home/hadoop/dfs.name.dir?has?been?successfully?formatted. 12/03/24?13:19:18?INFO?namenode.NameNode:?SHUTDOWN_MSG:? /************************************************************ SHUTDOWN_MSG:?Shutting?down?NameNode?at?hdfs1/172.16.16.1 ************************************************************/ Ok 步驟六: 啟動(dòng)hadoop進(jìn)程 /usr/local/hadoop-1.0.1/bin/start-all.sh? starting?namenode,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-namenode-hdfs1.out hdfs3:?starting?datanode,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-datanode-hdfs3.out hdfs2:?starting?datanode,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-datanode-hdfs2.out hdfs1:?starting?secondarynamenode,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-secondarynamenode-hdfs1.out starting?jobtracker,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-jobtracker-hdfs1.out hdfs3:?starting?tasktracker,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-tasktracker-hdfs3.out hdfs2:?starting?tasktracker,?logging?to?/usr/local/hadoop-1.0.1/libexec/../logs/hadoop-root-tasktracker-hdfs2.out 啟動(dòng)完成后,用ps?-ef?可以查到hdfs上啟動(dòng)了3個(gè)關(guān)于hadoop有關(guān)的java進(jìn)程, jar?org.apache.hadoop.hdfs.server.namenode.NameNode org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode org.apache.hadoop.mapred.JobTracker 在其它的節(jié)點(diǎn)上,hdfs2、hdfs3有兩個(gè)與hadoop相關(guān)的兩個(gè)java進(jìn)程 org.apache.hadoop.hdfs.server.datanode.DataNode org.apache.hadoop.mapred.TaskTracker 現(xiàn)在再調(diào)整系統(tǒng)的環(huán)境變量 Vi?/etc/profile export?PATH=/usr/local/jdk1.6.0_31/bin:/usr/local/hadoop-1.0.1/bin:$PATH??USER?LOGNAME?MAIL?HOSTNAME?HISTSIZE?INPUTRC source?/etc/profile 同步到其他slave節(jié)點(diǎn)上 [root@hdfs1?bin]#?scp?/etc/profile?root@hdfs2:/etc/ profile????????????????????????????????????????????????????????????????????????????????????100%?1091?????1.1KB/s???00:00???? [root@hdfs1?bin]#?scp?/etc/profile?root@hdfs3:/etc/ profile?? 到其它節(jié)點(diǎn)上,執(zhí)行命令source?/etc/profile讓文件生效,這樣hadoop/bin下的和jdk/bin/下的命令,可以任意調(diào)用 查看hadoop是否安裝ok 使用命令jps [root@hdfs1?bin]#?jps 8517?SecondaryNameNode 8943?Jps 8592?JobTracker 8343?NameNode [root@hdfs2?bin]#?jps 8600?Jps 8306?TaskTracker 8220?DataNode [root@hdfs3?bin]#?jps 11833?DataNode 12211?Jps 11902?TaskTracker 由此可看出,hadoop安裝、部署是ok的 通過 http://hdfs1:50070?看看分布式文件系統(tǒng)概況日志 http://hdfs1:50030可以查看分布式文件系統(tǒng)的工作狀況 以上所有的步驟,是hadoop集群系統(tǒng)的安裝、配置部分,后續(xù)將繼續(xù)發(fā)表出hdfs的命令、操作等其它文章 我也是新手,愿有志同道合的朋友,一起學(xué)習(xí)! 以后操作如有不當(dāng)之處,請(qǐng)指出,一起學(xué)習(xí)! 因?yàn)閖dk包和hadoop包計(jì)較大,無(wú)法上傳,有需要的,可以從官網(wǎng)上下載,也可以聯(lián)系我索要
本文轉(zhuǎn)自 vfast_chenxy 51CTO博客,原文鏈接:http://blog.51cto.com/chenxy/916193,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
本文轉(zhuǎn)自 vfast_chenxy 51CTO博客,原文鏈接:http://blog.51cto.com/chenxy/916193,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Hadoop 安装详解--新手必备的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转 无障碍阅读 role aria-*
- 下一篇: omct问题之-webapps下多出的R