Hadoop + Hive + Map +reduce 集群安装部署

环境准备:
CentOS 5.5 x64  (3台)

10.129.8.52  (master) ======>> NameNode, SecondaryNameNode,JobTracker
10.129.8.76    (slave01) ======>> DataNode, TaskTracker
10.129.8.33    (slave02) ======>> DataNode, TaskTracker

单台机器的本地host 文件如下:
10.129.8.52    master
10.129.8.76    slave01
10.129.8.33    slave02

(一) 配置好master 到slave 的ssh 登陆信任关系,做好都相互之间到配置好
(二) 安装好 java version "1.6.0_24"  源码包为jdk-6u24-linux-x64.bin
(三) 安装Hadoop 集群
    下载hadoop-1.2.0.tar.gz,然后解压到/home/hadoop/hadoop目录下
    修改相应的配置文件:

1 hadoop-env.sh  指明 java 的环境变量    export JAVA_HOME=/usr/local/java/jdk1.6.0_24
2 core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->


<configuration>
<property>
  <name>fs.default.name</name>
  <value>hdfs://master:9010</value>
  </property>
<property>
 <name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>


</configuration>

3 mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->


<configuration>
<property>
          <name>mapred.job.tracker</name>
          <value>master:9011</value>
      </property>
<property>
 <name>mapred.local.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
</configuration>

4 hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->
<!--

    NameNode 主要存放文件映射和文件更改日志
    SecondaryNameNode 一个守护进程 定时从NameNode同步文件更改日志并合并成一条日志,方便hadoop每次重启时 找到上次宕机的还原点。在后续的版本中会被backupNameNode和nameNode集群取代。
    Jobtracker 任务调度守护进程
    Tasktracker 任务执行进程
    DataName  数据存储节点,往往和Tasktracker部署在同一台机器上。

-->


<configuration>


<property>


      <name>dfs.name.dir</name>        // 指定name 镜像文件存放目录,如不指定则
      <value>/home/hadoop/filedata/name01,/home/hadoop/filedata/name02</value> //默认为core-site中配置的tmp目录


  </property>
<property>


      <name>dfs.data.dir</name>            // 数据存放的目录,如果不写 默认为


      <value>/home/hadoop/filedata/data01</value>  // core-site中配置的tmp目录


  </property>
 <property>
          <name>dfs.replication</name>
          <value>2</value>
      </property>
</configuration>


5 masters         


 master

 

6 slaves      (如果这里包含有master的主机名,那么master也会成为datanode,如果没有,那么master就只会成为namenode,不会成为datanode)


 slave01
 slave02


(四)  创建相应的目录:
    /home/hadoop/hadoop/tmp    hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。


          /home/hadoop/filedata            NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。(他下面有子目录,程序自己创建)


          /home/hadoop/filedta/data01      DataNode存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。 (程序自己创建)


(五)  在namenode 上格式化
    /home/hadoop/hadoop/bin/hadoop namenode -format
          查看输出保证分布式文件系统格式化成功
          执行完后可以到master机器上看到/home/hadoop//name1和/home/hadoop//name2两个目录。在主节点                master上面启动hadoop,主节点会启动所有从节点的hadoop。
(六)  /home/hadoop/hadoop/bin/start-all.sh (启动所有服务)
        执行完毕后,可以用jps 查看所有启动的服务      (启动日志在hadoop安装的logs目录下)   
[hadoop@master ~]$ jps
16276 SecondaryNameNode
16374 JobTracker
16103 NameNode
19003 Jps


这时可以去看看dataname节点上有没有创建数据目录,当然也可以用jps查看,但是我的dataname有得这个命令可以用,有得不可以,原因待查

(七) 上传文件测试
/home/hadoop/hadoop/bin/hadoop dfs -put X-ForWarded-For-survey.beisen.com-10.22.1.35_D2013070* /home/iis_log/survey.beisen.com/20130705

(八) 查看上传的文件
/home/hadoop/hadoop/bin/hadoop dfs -ls /home/iis_log/survey.beisen.com/20130705

相关推荐