準備工做:配置好兩臺以上能免密碼ssh訪問的Linux服務器;下載好jdk和hadoop-1.2.1-bin.tar.gz;確保iptables、selinux等防火牆已關閉java
一、解壓jdknode
$tar -xzvf jdk-7u71-linux-i586.tar.gz #將解壓出來的jdk文件轉移到usr目錄下,也能夠不轉移,後面經過環境變量配置到相應的目錄便可 $mv ./jdk1.7.0_71 /usr
二、解壓hadoop,配置hadooplinux
$tar -xzvf hadoop-1.2.1-bin.tar.gz #進入到hadoop-1.2.1下面的conf目錄下 $cd hadoop-1.2.1/conf
#配置環境變量 java_home $vi hadoop-env.sh #只修改這一行便可 export java_home=/usr/jdk1.7.0_71 #修改core-site.xml $vi core-site.xml <configuration> #自定義namenode的主機名 master.haddop,能夠自定義,也能夠是IP地址,若是是名稱,須要修改hosts <property> <name>fs.default.name</name> <value>hdfs://master.hadoop:9000</value> </property> #指定hadoop的臨時路徑,若是不指定使用默認路徑,重啓hadoop後tmp目錄會被清空 <property> <name>hadoop.tmp.dir</name> <value>/home/sweet/hadoop-1.2.1/tmp</value> </property> </configuration> #修改hdfs-site.xml $vi hdfs-site.xml <configuration> #指定複製因子,由於是實驗環境,只用了一個datanode <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> #修改mapred-site.xml $vi mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>master.hadoop:9001</value> </property> </configuration> #修改masters $vi masters master.hadoop #修改slaves $vi slaves slave.hadoop01 #修改hosts,增長IP到名稱的解析,須要登陸有相應修改權限的用戶操做,其它datanode上的hosts也要做相同修改 $vi /etc/hosts #增長下面兩條 192.168.1.100 master.hadoop 192.168.1.101 slave.hadoop01 #能夠分別在幾臺服務器上ping相應的名稱試試有沒有成功
三、將配置分發到各datanode,有多少個datanode就複製多少份,服務器之間須要可以SSH免密碼連入shell
#先切換到用戶目錄下 /home/sweet $scp -r ./hadoop-1.2.1 sweet@192.168.1.101:/home/sweet #格式化名稱節點 $cd hadoop-1.2.1 $bin/hadoop namenode -format #啓動hadoop,若是沒有配置本機到本機ssh免密碼訪問,這裏會不斷提示輸入密碼 $bin/start-all.sh #驗證hadoop是否啓動 $/usr/jdk1.7.0_71/bin/jps #master上面應該有NameNode, JobTracker, SecondaryNameNode三個進程 #slave上面應該有DataNode, TaskTracker兩個進程
到這裏,hadoop 1.X就部署完成了。服務器