Hadoop2/cdh4集群安装

CDH Cloudera 完全开源的Hadoop 分布式系统架构,为了满足企业的需求而特别构建的系统。即一个开源的企业级分布式存储系统。全称:Cloudera Hadoop

它是在Apache Hadoop基础上打入了很多patch。使之性能更好,更加满足生产环境。

Hadoop介绍

Hadoopapache 的开源项目,开发的主要目的是为了构建可靠、可拓展、稳定的分布式的系统,hadoop 是一系列的子工程的总和,其中包含:

1. hadoop common:为其他项目提供基础设施

2. HDFS:分布式的文件存储系统

3. MapReduceA software frameworkfor distributed processing of large data sets on compute clusters,一个简化分布式编程的框架。

4. 其他工程包含:Avro(序列化系 )Cassandra(数据库项目)等。

Hadoop Hadoop 分布式文件系统HDFS (Hadoop Distributed File System)和MapReduce(GoogleMapReduce的开源实现)为核心,Hadoop为用户提供了系统底层细节透明的分布式基础架构。

  对于 Hadoop的集群来讲,可以分成两大类角色:MasterSalve。一个 HDFS 集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的 DataNode 管理存储的数据。MapReduce框架是由一个单独运行在主节点上的 JobTracker和运行在每个集群从节点上的TaskTracker 共同组成的。主节点(NameNode)节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上,主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点(DataNode)仅负责由主节点指派的任务,当一个 Job 被提交时,JobTracker 接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。

  从上面的介绍可以看出,HDFS MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFSMapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce HDFS 的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop 分布式集群的主要任务。

安装

1、  准备环境:

集群安装在虚拟机上需要3台,1master节点, 2slave节点,可以相互ping通。

修改主机名和hosts文件,使3台机器互相解析。

192.168.117.132               master
192.168.117.128               slave01
192.168.117.129               slave02

 

2、配置3台机器,使互相之间无密码SSH登录。

Hadoop2/cdh4集群安装_第1张图片

3、安装Java(在3个机器上,可复制安装目录)

http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装:#rpm -ivh jdk-7u65-linux-x64.rpm

配置环境变量

#vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_31
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH


重新加载文件 #source /etc/profile

4、安装CDH4

http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.2.0.tar.gz下载hadoop及生态圈相关组件。

此包为免安装包,直接解压到指定目录即可。

#mkdir /usr/cdh4

#tar–zxvf hadoop-2.0.0-cdh4.2.0.tar.gz

# mv hadoop-2.0.0-cdh4.1.2 hadoop-2.0

5、配置CDH4

1)也可在hadoop-env.sh中配置java环境变量,不过以上己在全局配置了,这里可以省了

2)编辑core-site.xml

[root@slave01 ~]# cat/usr/cdh4/hadoop-2.0/etc/hadoop/core-site.xml



 

 

   
       fs.default.name
       hdfs://master:9100
   
   
       hadoop.tmp.dir
       /hadoop/tmp       ---要在hadoop目录内建立tmp目录
   

[root@slave01 ~]#

3)配置hdfs-site.xml

# cat hdfs-site.xml



 

 

    
          dfs.replication
          1
     
    
          dfs.namenode.name.dir
          file:/hadoop/name
          true
    
    
          dfs.datanode.data.dir
          file:/hadoop/data
          true
    
    
          dfs.permission
          false
    

4)配置mapred-site.xml

# cat/usr/cdh4/hadoop-2.0/etc/hadoop/mapred-site.xml


 

 

   
        mapreduce.framework.name
        yarn
   
   
        mapreduce.job.tracker
        master:9101
        true
   
   
        mapred.system.dir
        file:/hadoop/mapred/system
        true
   
   
        mapred.local.dir
        file:/hadoop/mapred/local
        true
   

[root@slave01 ~]#

5)配置yarn-site.xml

# cat/usr/cdh4/hadoop-2.0/etc/hadoop/yarn-site.xml


 

    
          yarn.resourcemanager.resource-tracker.address
          master:18025
    
    
          yarn.resourcemanager.address
          master:18040
    
    
          yarn.resourcemanager.scheduler.address
          master:18030
    
    
          yarn.resourcemanager.admin.address
          master:18141
   
   
          yarn.resourcemanager.webapp.address
          master:8088
   
   
         yarn.nodemanager.aux-services
         mapreduce.shuffle
   
   
         yarn.nodemanager.aux-services.mapreduce.shuffle.class
         org.apache.hadoop.mapred.ShuffleHandler
   

[root@slave01 ~]#

6)配置slaves

# cat/usr/cdh4/hadoop-2.0/etc/hadoop/slaves
localhost
192.168.117.129
192.168.117.128

7)配置Hadoop环境变量

#vim /etc/profile
export HADOOP_HOME=/usr/cdh4/hadoop-2.0
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}
exportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
exportHDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
exportYARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop


6、把配置好的Hadoop目录文件夹复制到其他节点上,路径要一致

  其他节点的环境变量不要忘记配置(可直接复制profile文件)

7、启动集群(第一次格式化namenode

#hadoop namenode -format

Hadoop2/cdh4集群安装_第2张图片

 

#./sbin/start-all.sh

Hadoop2/cdh4集群安装_第3张图片

 

8、验证:

Hadoop2/cdh4集群安装_第4张图片