彻底分布式 hadoop 1.X集群部署

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

相关文章
相关标签/搜索