1,安裝linux
本文假設(shè)從裸機(jī)開始,所以要先裝linux。本人是ubuntu對(duì)支持者,所以裝的是ubuntu,廢話沒有,很容易就裝好了。在安裝過程中,要注意所有節(jié)點(diǎn)對(duì)主機(jī)名應(yīng)該有規(guī)律,比如node0, node1, node2 ...
2,準(zhǔn)備
下面對(duì)軟件對(duì)安裝,全都使用了apt,這個(gè)軟件需要互聯(lián)網(wǎng)鏈接,如果你對(duì)網(wǎng)速極慢,或者根本鏈接不到外部網(wǎng)絡(luò)(這個(gè)現(xiàn)象在教育網(wǎng)內(nèi)很常見),可以從一個(gè)能上網(wǎng)對(duì)ubuntu電腦上的/var/cache/apt/archives文件夾里deb文件出來安裝(什么?你問我這個(gè)文件夾里為什么沒有想要的包,這個(gè)文件夾是apt對(duì)緩存文件夾,想要里面有你想要對(duì)東西,不用我提醒你應(yīng)該怎么辦了吧)。
ubuntu默認(rèn)已經(jīng)裝好了openssh-client,需要安裝openssh-server。命令如下:
sudo apt-get install openssh-server
然后是jdk:
sudo apt-get install default-jdk
3,配置網(wǎng)絡(luò)
如果你的節(jié)點(diǎn)們可以通過dhcp服務(wù)器獲得ip,我個(gè)人建議,這樣做,原因是簡(jiǎn)單,不用怎么配置就搞定了?;蛘呖梢允褂渺o態(tài)ip,作為一個(gè)牛b的linux大牛,應(yīng)該可以通過一行命令來設(shè)置靜態(tài)ip,但是我不會(huì)。我通常都是在gnome提供的網(wǎng)絡(luò)管理器來設(shè)ip對(duì)。如果你用對(duì)linux里沒有圖形界面,那樣請(qǐng)google。
設(shè)置好了ip地址之后,記憶在/etc/hosts文件中給每個(gè)節(jié)點(diǎn)起個(gè)名字,最好就是各自對(duì)主機(jī)名,這樣有利于下面對(duì)配置和管理。
hadoop要求各節(jié)點(diǎn)間可以不需要輸入密碼就能用ssh互相登錄。我使用了比官方方法簡(jiǎn)單一點(diǎn)方法來設(shè)置,但是據(jù)說安全性有點(diǎn)兒?jiǎn)栴}。下面是方法:
在某個(gè)節(jié)點(diǎn)上執(zhí)行如下命令:
rm -rf ~/.ssh
ssh-keygen -t rsa
這個(gè)命令之后需要多按幾次回車,知道再次出現(xiàn)命令提示符。當(dāng)然,這個(gè)做法也不是很安全,里面有個(gè)輸入key的地方,官方的建議是,輸入一首歌的歌詞,呵呵,這個(gè)建議很搞笑。當(dāng)然在我的步驟中,這個(gè)key就是空值了。
cat ~/.ssh/id_rsa.pub >> authorized_keys
然后把整個(gè).ssh文件夾考到所有對(duì)節(jié)點(diǎn)上,具體方法可以使用scp命令,具體命令由于和具體環(huán)境有關(guān),下面不寫。
這樣網(wǎng)絡(luò)就設(shè)置對(duì)差不多了。
4,安裝hadoop
解壓,這個(gè)比較簡(jiǎn)單,命令不寫。解壓對(duì)位置最好每個(gè)hadoop都一樣,不一樣有什么后果,我沒試過。
之后要進(jìn)行一些配置,首先進(jìn)入解壓后目錄對(duì)conf文件夾,要修改對(duì)配置文件包括hadoop-env.sh hadoop-site.xml masters slaves
hadoop-env.sh中要uncomment下面一行:
export JAVA_HOME=/home/hadoop/jdk1.6.0_16/
當(dāng)然具體的值,也要根據(jù)具體情況進(jìn)行更改。
接下來是hadoop-site.xml,下面是我的文件內(nèi)容。
configuration>
property>
name>fs.default.name/name>
value>hdfs://node0:6000/value>
/property>
property>
name>mapred.job.tracker/name>
value>node0:6001/value>
/property>
/configuratiron>
這個(gè)例子很直白,不解釋。
masters里面是jobtracker和namenode所在節(jié)點(diǎn)的主機(jī)名或者ip地址,我的masters文件里只有一行,當(dāng)然如果你想要設(shè)置多個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn),也可以。
slaves里面是所有tasktracker和datanode對(duì)主機(jī)名或ip地址。
5,運(yùn)行
先進(jìn)入hadoop安裝文件夾。然后依次運(yùn)行如下命令:
bin/hadoop namenode -format
bin/start-all.sh
不出意外的話,現(xiàn)在hadoop就可以使用了。
Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System),簡(jiǎn)稱HDFS。HDFS有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。