hadoop2.2安装配置

转载 2013年12月06日 09:26:33
第一部分 Hadoop 2.2 下载

          Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译。

下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/


第二部分 集群环境搭建

1、这里我们搭建一个由三台机器组成的集群:

192.168.0.1     hduser/passwd        cloud001       nn/snn/rm        CentOS6 64bit

192.168.0.2     hduser/passwd        cloud002        dn/nm             Ubuntu13.04 32bit

192.168.0.3     hduser/passwd        cloud003        dn/nm              Ubuntu13.0432bit

1.1 上面各列分别为IP、user/passwd、hostname、在cluster中充当的角色(namenode, secondary namenode, datanode , resourcemanager, nodemanager)

1.2   Hostname可以在/etc/hostname中修改(ubuntu是在这个路径下,redhat稍有不同)

1.3  这里我们为每台机器新建了一个账户hduser.这里需要给每个账户分配sudo的权限。(切换到root账户,修改/etc/sudoers文件,增加:hduser  ALL=(ALL) ALL )

2、修改/etc/hosts 文件,增加三台机器的ip和hostname的映射关系

                192.168.0.1     cloud001

                192.168.0.2     cloud002

                192.168.0.3     cloud003

3、打通cloud001到cloud002、cloud003的SSH无密码登陆

3.1 安装ssh

         一般系统是默认安装了ssh命令的。如果没有,或者版本比较老,则可以重新安装:

  sodu apt-get install ssh

3.2设置local无密码登陆

安装完成后会在~目录(当前用户主目录,即这里的/home/hduser)下产生一个隐藏文件夹.ssh(ls  -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。

具体步骤如下:

1、 进入.ssh文件夹

2、 ssh-keygen -t  rsa 之后一路回 车(产生秘钥)

3、 把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)

4、 重启 SSH 服 务命令使其生效 :service sshd restart(这里RedHat下为sshdUbuntu下为ssh)

此时已经可以进行ssh localhost的无密码登陆

     【注意】:以上操作在每台机器上面都要进行。

3.3设置远程无密码登陆

这里只有cloud001是master,如果有多个namenode,或者rm的话则需要打通所有master都其他剩余节点的免密码登陆。(将001的authorized_keys追加到002和003的authorized_keys)

进入001的.ssh目录

scp authorized_keys hduser@cloud002:~/.ssh/ authorized_keys_from_cloud001

进入002的.ssh目录

cat authorized_keys_from_cloud001>> authorized_keys

至此,可以在001上面sshhduser@cloud002进行无密码登陆了。003的操作相同。

4、安装jdk(建议每台机器的JAVA_HOME路径信息相同)

注意:这里选择下载jdk并自行安装,而不是通过源直接安装(apt-get install)

4.1、下载jkd( http://www.oracle.com/technetwork/java/javase/downloads/index.html)

4.1.1 对于32位的系统可以下载以下两个Linux x86版本(uname -a 查看系统版本)

4.1.2  64位系统下载Linux x64版本(即x64.rpm和x64.tar.gz)

 


4.2、安装jdk(这里以.tar.gz版本,32位系统为例)

安装方法参考http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html 

4.2.1 选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdirjava)

4.2.2 将文件jdk-7u40-linux-i586.tar.gz移动到/usr/java

4.2.3 解压:tar -zxvf jdk-7u40-linux-i586.tar.gz

4.2.4 删除jdk-7u40-linux-i586.tar.gz(为了节省空间)

至此,jkd安装完毕,下面配置环境变量

4.3、打开/etc/profile(vim /etc/profile)

在最后面添加如下内容:

JAVA_HOME=/usr/java/jdk1.7.0_40(这里的版本号1.7.40要根据具体下载情况修改)

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOMECLASSPATH PATH

4.4、source /etc/profile

4.5、验证是否安装成功:java -version

  【注意】每台机器执行相同操作,最后将java安装在相同路径下(不是必须的,但这样会使后面的配置方便很多)

5、关闭每台机器的防火墙

RedHat:

/etc/init.d/iptables stop 关闭防火墙。

chkconfig iptables off 关闭开机启动。

Ubuntu:

ufw disable (重启生效)

 

第三部分 Hadoop 2.2安装过程

        由于hadoop集群中每个机器上面的配置基本相同,所以我们先在namenode上面进行配置部署,然后再复制到其他节点。所以这里的安装过程相当于在每台机器上面都要执行。但需要注意的是集群中64位系统和32位系统的问题。

1、 解压文件

       将第一部分中下载的hadoop-2.2.tar.gz解压到/home/hduser路径下(或者将在64位机器上编译的结果存放在此路径下)。然后为了节省空间,可删除此压缩文件,或将其存放于其他地方进行备份。

注意:每台机器的安装路径要相同!!

2、 hadoop配置过程

配置之前,需要在cloud001本地文件系统创建以下文件夹:

~/dfs/name

~/dfs/data

~/temp

这里要涉及到的配置文件有7个:

~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

~/hadoop-2.2.0/etc/hadoop/yarn-env.sh

~/hadoop-2.2.0/etc/hadoop/slaves

~/hadoop-2.2.0/etc/hadoop/core-site.xml

~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

以上个别文件默认不存在的,可以复制相应的template文件获得。

配置文件1:hadoop-env.sh

修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7.0_40)

配置文件2:yarn-env.sh

修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)

配置文件3:slaves (这个文件里面保存所有slave节点)

写入以下内容:

cloud002

cloud003

配置文件4:core-site.xml


               
                                fs.defaultFS
                                hdfs://cloud001:9100
               

       
                                io.file.buffer.size
                                131072
               

       
                                hadoop.tmp.dir
                                file:/home/hduser/tmp
                                Abase for other temporary directories.

               


配置文件5:hdfs-site.xml


       

                dfs.namenode.secondary.http-address

               cloud001:9101

       

         

                  dfs.namenode.name.dir

                 file:/home/hduser/dfs/name

           

           

                    dfs.datanode.data.dir

                    file:/home/hduser/dfs/data

           

           

                     dfs.replication

                     3

             

             
dfs.permission
false
             


配置文件6:mapred-site.xml


               

                                mapreduce.framework.name

                                yarn

               


mapreduce.job.tracker

hdfs://cloud001:9101

               

                                mapreduce.jobhistory.address

                                cloud001:10020

               

               

               mapreduce.jobhistory.webapp.address

               cloud001:19888

       


配置文件7:yarn-site.xml (配置yarn.nodemanager.aux-services 一定要小心,hadoop2.2.0对应的value值已经从mapreduce.shuffle改为了mapreduce_shuffle)


                 

               yarn.nodemanager.aux-services

               mapreduce_shuffle

       

                 

               yarn.nodemanager.aux-services.mapreduce.shuffle.class

               org.apache.hadoop.mapred.ShuffleHandler

       

yarn.nodemanager.local-dirs
${hadoop.tmp.dir}/nodemanager/local

yarn.nodemanager.log-dirs
${hadoop.tmp.dir}/nodemanager/logs

 
yarn.nodemanager.remote-app-log-dir  
${hadoop.tmp.dir}/nodemanager/remote  

       

               yarn.resourcemanager.address

               cloud001:8032

       

               

               yarn.resourcemanager.scheduler.address

                cloud001:8030

               

               

                       yarn.resourcemanager.resource-tracker.address

                        cloud001:8031

               

               

                       yarn.resourcemanager.admin.address

                        cloud001:8033

               

               

               yarn.resourcemanager.webapp.address

                cloud001:8088

       


3、复制到其他节点

这里可以写一个shell脚本进行操作(有大量节点时比较方便)

cp2slave.sh

#!/bin/bash 

scp–r /home/hduser/hadoop-2.2.0 hduser@cloud002:~/

scp–r /home/hduser/hadoop-2.2.0 hduser@cloud003:~/

编写批处理文件 Cp2slave2.sh:拷贝配置文件到集群其他机器。(其实也可以在配置好hadoop以后,整体拷贝hadoop目录到其他机器)

#!/bin/bash

scp /home/hduser/hadoop-2.2.0/etc/hadoop/slaveshduser@cloud002:~/hadoop-2.2.0/etc/hadoop/slaves

scp /home/hduser/hadoop-2.2.0/etc/hadoop/slaveshduser@cloud003:~/hadoop-2.2.0/etc/hadoop/slaves

scp /home/hduser/hadoop-2.2.0/etc/hadoop/core-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/core-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/core-site.xml hduser@cloud003:~/hadoop-2.2.0/etc/hadoop/core-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/hdfs-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/hdfs-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/mapred-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/mapred-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/yarn-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/yarn-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

4、启动验证

4.1 启动hadoop

进入安装目录: cd  ~/hadoop-2.2.0/

格式化namenode:./bin/hdfs namenode -format

启动hdfs: ./sbin/start-dfs.sh

此时在001上面运行的进程有:namenode secondarynamenode

002和003上面运行的进程有:datanode

启动yarn: ./sbin/start-yarn.sh

此时在001上面运行的进程有:namenode secondarynamenoderesourcemanager

002和003上面运行的进程有:datanode nodemanaget

查看集群状态:./bin/hdfs dfsadmin -report

查看文件块组成:  ./bin/hdfsfsck / -files -blocks

查看HDFS:    http://16.187.94.161:50070

查看RM:    http:// 16.187.94.161:8088

4.2 运行示例程序:

先在hdfs上创建一个文件夹

./bin/hdfs dfs -mkdir /input

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter input

参考:http://blog.sina.com.cn/s/blog_546abd9f0101i8b8.html

Hadoop 2.2.0 (单机)安装,配置全过程

(本次安装是在64位 Cent OS的环境下) 1. 创建用户 useradd -d /home/user1 -s /bin/bash user1 2. 安装JDK 2.1 下载JDK版本 注明: 在...
  • windyboy911
  • windyboy911
  • 2014年01月10日 16:24
  • 2127

在Hadoop2.2下安装配置Hive

1、下载apache-hive-0.13.1-bin.tar.gz 2、在/root/install目录解压
  • panguoyuan
  • panguoyuan
  • 2014年08月20日 16:04
  • 1136

Linux下Hadoop 2.2.0 集群配置攻略

Hadoop 2.2.0 集群配置攻略  用户输入标识: chmod +x jdk-7u45-linux-x64.rpm  为黑色带底纹  系统输出标识: java version "1.7....
  • juniorli
  • juniorli
  • 2014年08月13日 16:40
  • 2693

Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)

历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为菜鸟真心被各种折磨,不过当wordcount给出结果的那一刻,兴奋的不得了~~(文当中若有错误之处或疑问欢迎指正,互相学习)...
  • licongcong_0224
  • licongcong_0224
  • 2013年10月23日 16:27
  • 76168

hadoop2.2集群安装

hadoop2.X已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。 注意:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一...
  • jhsfja
  • jhsfja
  • 2015年11月11日 09:56
  • 173

hadoop2.2安装过程(待整理)

hadoop2.2安装过程 http://blog.csdn.net/licongcong_0224/article/details/12972889#comments http://blog.csd...
  • javastart
  • javastart
  • 2014年03月02日 15:35
  • 701

hadoop2.2安装配置日志(完全分布式)

在五一放假三天,用了整个假期的时间去
  • foart
  • foart
  • 2014年05月03日 21:03
  • 2807

hadoop2.2环境配置

场景介绍:主机mac pro,安装了两台虚拟机,虚拟机均为Ubuntu系统 ubuntu系统配置jdk 1、到 Sun 的官网下载 http://www.oracle.com/tec...
  • he982346280
  • he982346280
  • 2015年10月23日 17:43
  • 410

hadoop2.2安装教程

三.Hadoop安装 1. 配置多台虚拟机来搭建一个Hadoop集群。 a) 一台作为 namenode 节点 b) 其他作为 datanode 节点 c)  虚拟机使用 仅主机模式连入网...
  • yf289178199
  • yf289178199
  • 2017年07月18日 08:56
  • 54

hadoop2.2伪分布式安装

1.准备Linux环境     1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段...
  • jhsfja
  • jhsfja
  • 2015年11月11日 09:52
  • 149
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hadoop2.2安装配置
举报原因:
原因补充:

(最多只允许输入30个字)