Hadoop安裝前置作業(一)
系統:CentOS 6.3
工具:VMware 9
本文章測出來為,單機模式,自己是namenode 也是 datanode。
參考網址:
http://programer-learn.blogspot.tw/2012/04/hadoop.html
Fenriswolf 程式筆記:
http://fenriswolf.me/2012/05/25/hadoop-%E5%8F%83%E6%95%B8%E8%A8%AD%E5%AE%9A-hdfs-site-xml/
基本系統環境:
1、設定三台Hadoop(Name: Hadoop1、Hadoop2、Hadoop3)
2、設定IP(192.168.1.131,192.168.1.132,192.168.1.133)
指令:
2.1 更改網路IP:system-config-network
(設定完reboot)
(到Virtual Network Editor內看NAT Settings,GW為192.168.1.2)
2.2 更改 hostname:
路徑:#
vim /etc/sysconfig/network (Hadoop1)
#vim /etc/hosts (新增:192.168.1.131 Hadoop1 //在這修改hostname)
(新增:192.168.1.132 Hadoop2 //在這修改hostname)
(新增:192.168.1.133 Hadoop3 //在這修改hostname)
注意:因為對LINUX不熟,所以我在PING 域名這一塊花了較多的時間,記得
要到 /etc/hosts加入DNS解析,這樣其他台設備才PING的到某台的域名。
2.3 三台內部都要可以Ping IP及域名成功,做Hadoop才不會有問題。
2.4 請勿使用root來操作。
4、前置流程
4.1 更新套件 yum update
4.2 安裝Java (安裝完後,下
which java / java -version,會顯示java路徑/版本)
4.3 到此路徑
/etc/init.d/,啟動SSH
service sshd restart
yum list installed | grep ssh
解說:
yum list installed <-列出所有已安裝的程式
| <- 管線,把前面結果傳遞給後面
補充1:
事實上,在我們使用的 Linux 系統當中,預設就已經含有 SSH
的所有需要的軟體 了!這包含了可以產生密碼等協定的 OpenSSL
軟體與 OpenSSH 軟體 (註1),所以呢,要啟動 SSH 真的是太簡單
了!就直接給他啟動就是了!
參考網址:http://linux.vbird.org/linux_server/0310telnetssh.php#ssh_start
補充2:
ssh server 用來1.scp復製檔案,這樣不必逐台設定
從其中一台(namenode)可以去啟動所有的datanode,
方便管理而已,因為如果有幾百台的話~~
附帶好處才是我們可以用ssh client連進去
補充3:
SSH啟動後,就可以用PUTTY連線了。
4.4 啟動 SSH 需要輸入密碼,這裡將SSH變成無密碼登入,首先必須先產生一組公鑰,
以下以DSA為例:
指令:ssh-keygen -t dsa (接下來會看到三個問題,按Enter即可)
4.5 指令:
ls -al,找隱藏檔
.ssh(路徑:root/.ssh/)
可以看到一個id_dsa即id_dsa.pub的檔案
補充1:
在哪個帳號底下的.ssh裡面,放的就是登入那個帳號或者是用
那個帳號去登入別台機器用的key跟設定。
補充2:
.ssh放了三個檔案,一個是自己的key,一個是其他機器的key,
一個是驗證過的key,驗證過的key跟自己的key是同內容的檔案
三台都一樣所以才能夠作到 ssh nodex 能夠互相無密碼。
補充3:
若再重做此項動作, 必須先把各端的~/.ssh下面檔案全數刪除,始可再做下面步驟
補充4:
若要刪除.ssh,輸入命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
ps: ''是兩個單引號, 不是一個雙引號
4.6
將id_dsa.pub導入到SSH的認證公開金鑰檔
指令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
接著輸入
指令:
ssh localhost 檢查看看會不會要你輸入密碼。
補充:
authorized_keys 為SSH的認證公開的金鑰檔。
id_dsa.pub public key
5.安裝Hadoop
5.1 下載Hadoop
我這邊下載的檔案是"hadoop 1.1.0.tar.gz"
到官網上面去下載,網址:
http://hadoop.apache.org/releases.html#Download
可以看一下每一個版本的詳細(下圖)
圖二:
1、選擇hadoop-1.0.0下載
2、注意,不要選擇hadoop-2.0.2-alpha版,
alpha 是 beta 版之前的版本(不穩定)。
5.2 解壓縮檔案指令:tar -zcvf hadoop 1.1.0.tar.gz
5.3 進入hadoop-1.1.0目錄下的 conf 資料夾內
路徑:cd /hadoop-1.1.0/conf
5.4 要修改四個檔案:
Hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
5.5 使用vi進入這四個檔案
5.5.1 Hadoop-env.sh
加入JAVA的路徑,我習慣將原本系統預設的留著,加#。
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0,0.x86_64/jre
注意:這邊java的路徑要確定正確,不然接下來執行"5.6.4"步驟的時候會有問題。
(5.6.4 執行指令:bin/hadoop namenode -format)
5.5.2 core-site.xml (指定HDFS的瀏覽位址)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
5.5.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
參考網址:
http://fenriswolf.me/?s=mapred-site.xml
5.5.4 mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
5.6 到cd/hadoop-1.1.0
執行指令:bin/hadoop namenode -format
5.7 啟動Hadoop
指令:~/hadoop-1.1.0/bin/start-all.sh
5.8 Hadoop瀏覽看有無正常運作