從google doc貼過來變很怪,可以連結到原始的地方看
http://goo.gl/yzwQN
參考了這篇文章 http://blog.chinaunix.net/uid-26867092-id-3213709.html
http://goo.gl/yzwQN
參考了這篇文章 http://blog.chinaunix.net/uid-26867092-id-3213709.html
- 首先準備好你所要安裝hadoop的幾台機器,我們這邊以五台機器為例子,兩台master,三台slave
- 接下來看你有沒有要使用NIS或是LDAP讓你每台機器帳號統一,省去各台機器帳號不同步,或是uid不同的問題,這邊就各自採用自己的解法或上網搜尋,我們這邊先自用最笨的方法,就是各台分別建帳號,之後會有步驟建帳號
- 先用自己的帳號(可以執行sudo的)登入
- 確認各台機器IP之後修改/ets/hosts,如下 (每台機器)
192.168.192.148 hdm1
192.168.192.149 hdm2
192.168.192.150 hds1
192.168.192.151 hds2
192.168.192.152 hds3
- 安裝 ssh 以及 jdk (每台機器)
apt-get install default-jdk ssh
- 建立使用者 hadoop (每台機器)
sudo adduser hadoop
- 切換為使用者hadoop並建立 ssh key 讓master的機器都可以直接無密碼登入slave(master機器)(以下都使用hadoop使用者做動作)
sudo su hadoop
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub hdm1
ssh-copy-id -i .ssh/id_rsa.pub hdm2
ssh-copy-id -i .ssh/id_rsa.pub hds1
ssh-copy-id -i .ssh/id_rsa.pub hds2
ssh-copy-id -i .ssh/id_rsa.pub hds3
- 下載hadoop並解壓縮
tar xvf hadoop-1.0.3.tar.gz
- 編輯 ~/.bashrc 加入以下幾行
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
export HADOOP_HOME=/home/hadoop/hadoop-1.0.2
export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin
- 在hadoop-1.0.3下編輯conf/hadoop-env.sh,加入
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
- 編輯 conf/mapred-site.xml
- 編輯 conf/core-site.xml
- 編輯conf/master
hdm1
hdm2
- 編輯conf/slave
hds1
hds2
hds3
- 拷貝此節點的設定去其他台機器(假設在hdm1做)
scp -r .bashrc hadoop-1.0.3 hdm2
scp -r .bashrc hadoop-1.0.3 hds1
scp -r .bashrc hadoop-1.0.3 hds2
scp -r .bashrc hadoop-1.0.3 hds3
- 重新登入之後執行文件系統格式化
$ hadoop namenode -format
- 啟動hadoop
$ start-all.sh
- 到這邊hadoop就大功告成了,可以開始使用hdfs或是計算mapreduce的東西
沒有留言:
張貼留言