准备工做:配置好两台以上能免密码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就部署完成了。服务器