CentOS 5.6下安装Hadoop完全分布式模式

实验环境
  1. 系统 : CentOS 5.6
  2. JDK  : jdk-6u26-linux-i586-rpm.bin
  3. 账号 : Hadoop
  4. 目录 : /usr/local/hadoop
  5. 主机名 :master slave1 slave2
实验目的

组建三台机器的群集

  • master: 部署namecode,JobTracker,DataNode,TaskTracker
  • slave1: 部署JobTracker,DataNode,TaskTracker
  • slave2: 部署JobTracker,DataNode,TaskTracker

其实这个不是最好的组建方法。实验为了更好的测试多节点而这样设置。

安装
  • 请确保每台机器都安装了sun jdk 将hadoop安装在相同的目录(/usr/local/hadoop)。
  • 请确保hadoop/conf/hadoop-env.sh 中JAVA_HOME=/usr/java/jdk1.6.0_26 设置并且正确。
  • 每台机器创建hadoop账户。
#useradd hadoop
 #passwd hadoop
  • 确保master能无密码登录。
$ssh-keygent -t dsa (我将密码设置为空方便测试。正常环境请安装keychain,keychain安装
)
 $cd .ssh
 $cat cat id_rsa.pub > authorized_keys
 $chmod 600 authorized_keys  (将权限设置为600否者ssh将不读取公钥信息)
    • 分发public key
$ssh-copy-id slave1
 $ssh-copy-id slave2
配置文件概述
  • NameNode : core-site.xml
  • JobTracker : mapred-site.xml
  • DataNode : hdfs-site.xml
  • master : masters
  • slave : slaves
配置
  • 编辑namenode的配置文件
$vi core-site.xml
  <configuration>
     <property>
       <name>fs.default.name</name>
       <value>hdfs://192.168.60.149:9000/</value>   
     </property>
     <property>
       <name>hadoop.tmp.dir</name> 
       <value>/usr/local/hadoop/hadooptmp</value>
     </property>
  </configuration>
  • 编辑JobTracker的配置
$vi mapred-site.xml   
  <configuration>
    <property>
       <name>mapred.job.tracker</name>   
       <value>192.168.60.149:9001</value>
    </property>
    <property>
       <name>mapred.local.dir</name>
       <value>/usr/local/hadoop/mapred/local</value>
    </property>
    <property>
       <name>mapred.system.dir</name>
       <value>/tmp/hadoop/mapred/system</value>
    </property>
  </configuration>
  • 编辑DataNode配置
$vi hdfs-site.xml
  <configuration>
  <property>
       <name>dfs.name.dir</name>
       <value>/usr/local/hadoop/hdfs/name</value>
    </property>
    <property>
       <name>dfs.data.dir</name>
       <value>/usr/local/hadoop/hdfs/data</value>
    </property>
    <property>
       <name>dfs.replication</name>   
       <value>3</value>
    </property>
  </configuration>
  • 修改slave1,slave2的配置
    • 修改slave1,slave2的JobTracker的配置
$vi mapred-site.xml   
  <configuration>
    <property>
       <name>mapred.job.tracker</name>   
       <value>192.168.60.149:9001</value>
    </property>
    <property>
       <name>mapred.local.dir</name>
       <value>/usr/local/hadoop/mapred/local</value>
    </property>
    <property>
       <name>mapred.system.dir</name>
       <value>/tmp/hadoop/mapred/system</value>
    </property>
  </configuration>
    • 修改slave1,slave2的DataNode配置
$vi hdfs-site.xml
  <configuration>
  <property>
       <name>dfs.name.dir</name>
       <value>/usr/local/hadoop/hdfs/name</value>
    </property>
    <property>
       <name>dfs.data.dir</name>
       <value>/usr/local/hadoop/hdfs/data</value>
    </property>
    <property>
       <name>dfs.replication</name>   
       <value>3</value>
    </property>
  </configuration>
  • 设置master
$vi masters
  master
  • 设置slave
$vi slaves
  master
  slave1
  slave2

相关推荐