時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
關于linux下hadoop的部署網(wǎng)上有很多教程,但是同一教程對于不同的機器可能效果迥異,而很多和我一樣都新手都不愿意去follow官方的英文部署。因此在這里記下我部署hadoop的過程,兼聽則明,希望對大家有所幫助。
****************************************************
實踐環(huán)境:
1.用戶名:sa,環(huán)境:UBUNTU10.04,IP:192.168.0.102,作用:namenode,master,jobtracker
2.用戶名:sa,環(huán)境:UBUNTU9.10,IP:192.168.0.103,作用:datanode,slave,tasktracker
兩臺電腦的用戶名務必保持一樣,否則后面調(diào)試時不能成功。
****************************************************
主要步驟:
1.修改主機名。
2.安裝SSH,實現(xiàn)SSH無密碼登陸。
3.關閉防火墻
4.安裝JDK,Hadoop
5.配置hadoop
****************************************************
1.修改主機名:
在/etc/hosts文件里面修改:
sa@sa:~$ cd ..
sa@sa:/home$ cd ..
sa@sa:/$ cd etc/
sa@sa:/etc$ sudo gedit hosts
[sudo] password for sa:
輸入密碼后,將hosts文件改為:
127.0.0.1 localhost.localdomain??? localhost
192.168.0.102 sa
192.168.0.103 ubuntu
::1???? localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
?。ù颂?可能會無法辨識,去掉那一行)
/*
所有機器都改完,對應好之后,可是ping一下,看看是否成功:
PING ubuntu (192.168.0.103) 56(84) bytes of data.
64 bytes from ubuntu (192.168.0.103): icmp_seq=1 ttl=64 time=0.393 ms
64 bytes from ubuntu (192.168.0.103): icmp_seq=2 ttl=64 time=0.374 ms
64 bytes from ubuntu (192.168.0.103): icmp_seq=3 ttl=64 time=0.373 ms
^C
--- ubuntu ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.373/0.380/0.393/0.009 ms
*/
****************************************************
2.安裝SSH,實現(xiàn)SSH無密碼登陸
2.1 安裝SSH:sudo apt-get install openssh-server
2.2 實現(xiàn)SSH無密碼登錄:
此處參考這個文檔:linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml">http://linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml
非常詳盡。摘錄如下:
*************************
服務器之間建立信任關系,對于監(jiān)控服務器管理很必要。這里介紹ssh的無密碼登陸。
本機ip:192.168.1.6
[root@codfei ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y (以為我是第2次建立關系所以此處覆蓋原來的文件)
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:
04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# ll
-rw-------? 1 root root 883 Apr 25 17:51 id_rsa
-rw-r--r--? 1 root root 221 Apr 25 17:51 id_rsa.pub
-rw-r--r--? 1 root root 442 Apr 25 17:37 known_hosts
id_rsa是密鑰文件,id_rsa.pub是公鑰文件。
[root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6
[email protected]'s password:
id_rsa.pub????? 100%? 221???? 0.2KB/s?? 00:00
這里把公鑰文件取名為本機的ip地址就是為了以后和更多的機器建立信任關系不發(fā)生混淆。
現(xiàn)在登陸到192.168.1.4機器
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# cat 192.168.1.6 >> authorized_keys
然后回到192.168.1.6機器直接
[root@codfei .ssh]# ssh 192.168.1.4
Last login: Wed Aug? 8 12:14:42 2007 from 192.168.1.6
這樣就可以了,里面偶爾涉及到權限問題。一般./ssh文件夾是755 authorized_keys為600或者644
****************************************************
3.關閉防火墻
sa@sa:~$ sudo ufw disable
防火墻在系統(tǒng)啟動時自動禁用
****************************************************
#p#副標題#e#
4安裝JDK,hadoop
分別到官網(wǎng)下載tar.gz文件,解壓縮至sa文件夾下。兩臺機子文件目錄保持一樣,以免不必要都麻煩。我都機器分別下載的是jdk.1.6.0_21和hadoop-0.20.2。
之后將下列語句添加至etc/profile文件中:
export JAVA_HOME=/home/sa/jdk1.6.0_21
export JRE_HOME=/home/sa/jdk1.6.0_21/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export HADOOP_HOME=/home/sa/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
/*
改完之后進行測試,參考http://blog.csdn.net/wh62592855/archive/2010/07/14/5733130.aspx
1.java -version查看版本號。
sa@sa:/etc$ java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)
2.運行java程序
在/home/sa下建立一個hello.java都文件,輸入以下內(nèi)容:
public class hello
{
public static void main(String args [ ])
{
System.out.println("Hello World!");
System.out.println("看到這些代表安裝成功啦!");
System.out.println("2005/9/5");
}
}
3.編譯:javac hello.java
4.執(zhí)行:java hello
sa@sa:~$ javac hello.java
sa@sa:~$ java hello
Hello World! 看到這些代表安裝成功啦!
2005/9/5
****************************************************
5.配置hadoop
此處參考www.hadoopor.com網(wǎng)站制作的《Hadoop 開發(fā)者入門專刊》
以下是我針對自己都機器做的工作:
***************************
hadoop 的主要配置都在 hadoop-0.20.2/conf 下。
(1)在 conf/hadoop-env.sh 中配置 Java 環(huán)境(namenode 與 datanode 的都做):
$ gedit hadoop-env.sh
$ export JAVA_HOME=/home/sa/jdk1.6.0_21
(2)配置 conf/masters 和 conf/slaves 文件:
masters: sa(只在 namenode 上配置)
slaves:(namenode 與 datanode 的都做)
ubuntu
(3)配置 conf/core-site.xml, conf/hdfs-site.xml 及 conf/mapred-site.xml(以下內(nèi)容namenode 與 datanode 都做)
core-site.xml:
*******************
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務器設置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法