2012年6月7日 星期四

hadoop 1.0.3 multi-node @ ubuntu 12.04 amd64

從google doc貼過來變很怪,可以連結到原始的地方看
http://goo.gl/yzwQN


參考了這篇文章 http://blog.chinaunix.net/uid-26867092-id-3213709.html
  1. 首先準備好你所要安裝hadoop的幾台機器,我們這邊以五台機器為例子,兩台master,三台slave
  1. 接下來看你有沒有要使用NIS或是LDAP讓你每台機器帳號統一,省去各台機器帳號不同步,或是uid不同的問題,這邊就各自採用自己的解法或上網搜尋,我們這邊先自用最笨的方法,就是各台分別建帳號,之後會有步驟建帳號
  1. 先用自己的帳號(可以執行sudo的)登入
  2. 確認各台機器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
  1. 安裝 ssh 以及 jdk  (每台機器)
        apt-get install default-jdk ssh
  1. 建立使用者 hadoop (每台機器)
        sudo adduser hadoop
  1. 切換為使用者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
  1. 下載hadoop並解壓縮
        tar xvf hadoop-1.0.3.tar.gz
  1. 編輯 ~/.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
  1. 在hadoop-1.0.3下編輯conf/hadoop-env.sh,加入
        export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
  1. 編輯 conf/mapred-site.xml
dfs.name.dir
/home/hadoop/name
dfs.data.dir
/home/hadoop/data
dfs.replication
2  #默认是3份
  1. 編輯 conf/core-site.xml
 
    fs.default.name
    hdfs://hdm1:9000
 
 
    hadoop.tmp.dir
    /home/hadoop/tmp
 
  1. 編輯conf/master
        hdm1
        hdm2
  1. 編輯conf/slave
        hds1
        hds2
        hds3
  1. 拷貝此節點的設定去其他台機器(假設在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
  1. 重新登入之後執行文件系統格式化
        $ hadoop namenode -format
  1. 啟動hadoop
        $ start-all.sh
  1. 到這邊hadoop就大功告成了,可以開始使用hdfs或是計算mapreduce的東西




沒有留言:

張貼留言