Hadoop2.2.0单节点安装和配置环境图文详解

jopen 8年前

摘要:最近也是刚刚入门hadoop,配置环境就折腾了很久,在网上也查看了给位大神的帖子,从中也学到 了很多东西,但是很多都是比较杂,在这里我就贴出我配置的一些心得,望各位指教。
一、简介
二、在Ubuntu下创建hadoop用户组和用户
三、在Ubuntu下安装JDK
四、安装ssh服务
五、建立ssh无密码登录本机
六、安装hadoop
七、在单机上运行hadoop。

一:简介(这里简单用图片展示下):



二、在Ubuntu下创建hadoop用户组和用户 ,这里考虑的是以后涉及到hadoop应用时,专门用该用户操作。用户组名和用户名都设为:hadoop。可以理解为该hadoop用户是属于一个名为hadoop的用户组。

1、创建hadoop用户组,如图


2、创建hadoop用户,


3、给hadoop用户添加权限,打开/etc/sudoers文件,如图


按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。在root  ALL=(ALL:ALL)  ALL下添加hadoop  ALL=(ALL:ALL)  ALL,如图


三、在Ubuntu下安装JDKhttp://blog.csdn.net/u011067360/article/details/21396209

每当Ubuntu安装成功时,我们的机器名都默认为:ubuntu ,但为了以后集群中能够容易分辨各台服务器,需要给每台机器取个不同的名字。机器名由 /etc/hostname文件决定。
1、打开/etc/hostname文件,如图


打开/etc/hostname文件,将/etc/hostname文件中的ubuntu改为你想取的机器名,重启系统后才会生效。

四:安装ssh服务 

这里的ssh和三大框架:spring,struts,hibernate没有什么关系,ssh可以实现远程登录和管理,具体可以参考其他相关资料。

1、安装openssh-server,


自动安装openssh-server时,可能会进行不下去,可以先进行如下操作:

执行如下命令升级部分软件udo apt-get update,如图:


操作完成后继续执行第1步。
这时您已经安装好了ssh,您就可以进行第五步了;

五、 建立ssh无密码登录本机 
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
1、创建ssh-key,,这里我们采用rsa方式,如图


回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的,

2、进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的,如图


完成后就可以无密码登录本机了。

3、登录localhost,在命令行中输入:ssh localhost,结果如图,


至此,hadoop的ssh环境就搭好了,接下来就是配置hadoop的环境了。

六、安装Hadoop2.2,搭建集群

1、在hadoopMaster上安装hadoop

       首先到Apache官网上下载hadoop2.2的压缩文件,将其解压到当前用户的根文件夹中(home/fyzwjd/),将解压出的文件夹改名为hadoop。

$ sudo mv hadoop-2.2.0 hadoop

配置之前,先在本地文件系统创建以下文件夹:~/hadoop/tmp、~/dfs/data、~/dfs/name。 主要涉及的配置文件有7个:都在/hadoop/etc/hadoop文件夹下,可以用gedit命令对其进行编辑。

~/hadoop/etc/hadoop/hadoop-env.sh    ~/hadoop/etc/hadoop/yarn-env.sh    ~/hadoop/etc/hadoop/slaves    ~/hadoop/etc/hadoop/core-site.xml    ~/hadoop/etc/hadoop/hdfs-site.xml    ~/hadoop/etc/hadoop/mapred-site.xml    ~/hadoop/etc/hadoop/yarn-site.xml

         (1)     配置文件1:hadoop-env.sh
              修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
        (2)     配置文件2:yarn-env.sh
              修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
      (3)     配置文件3:slaves ( hadoopSalve1  、hadoopSlave2 )

       (4)    配置文件4:core-site.xml

<configuration>    <property>    <name>fs.defaultFS</name>    <value>hdfs://hadoopMaster:9000</value>    </property>    <property>    <name>io.file.buffer.size</name>    <value>131072</value>    </property>    <property>    <name>hadoop.tmp.dir</name>    <value>file:/home/fyzwjd/hadoop/tmp</value>    <description>Abasefor other temporary directories.</description>    </property>    <property>    <name>hadoop.proxyuser.fyzwjd.hosts</name>    <value>*</value>    </property>    <property>    <name>hadoop.proxyuser.fyzwjd.groups</name>    <value>*</value>    </property>    </configuration>

     (5)     配置文件5:hdfs-site.xml

<configuration>    <property>    <name>dfs.namenode.secondary.http-address</name>    <value>hadoopMaster:9001</value>    </property>    <property>    <name>dfs.namenode.name.dir</name>    <value>file:/home/fyzwjd/dfs/name</value>    </property>    <property>    <name>dfs.datanode.data.dir</name>    <value>file:/home/fyzwjd/dfs/data</value>    </property>    <property>    <name>dfs.replication</name>    <value>3</value>    </property>    <property>    <name>dfs.webhdfs.enabled</name>    <value>true</value>    </property>    </configuration>

  (6)    配置文件6:mapred-site.xml

<configuration>    <property>    <name>mapreduce.framework.name</name>    <value>yarn</value>    </property>    <property>    <name>mapreduce.jobhistory.address</name>    <value>hadoopMaster:10020</value>    </property>    <property>    <name>mapreduce.jobhistory.webapp.address</name>    <value>hadoopMaster:19888</value>    </property>    </configuration>

  (7)    配置文件7:yarn-site.xml

<configuration>    <property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value>    </property>    <property>    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>    <value>org.apache.hadoop.mapred.ShuffleHandler</value>    </property>    <property>    <name>yarn.resourcemanager.address</name>    <value>hadoopMaster:8032</value>    </property>    <property>    <name>yarn.resourcemanager.scheduler.address</name>    <value>hadoopMaster:8030</value>    </property>    <property>    <name>yarn.resourcemanager.resource-tracker.address</name>    <value>hadoopMaster:8035</value>    </property>    <property>    <name>yarn.resourcemanager.admin.address</name>    <value>hadoopMaster:8033</value>    </property>    <property>    <name>yarn.resourcemanager.webapp.address</name>    <value>hadoopMaster:8088</value>    </property>    </configuration>

2、如果是真机分布式,则将hadoop文件夹拷贝到hadoopSlave1和hadoopSlave2上。

scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave1:~/    scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave2:~/

七、验证与运行
    所有的组件启动和停止服务都在/hadoop/sbin目录下,一般启动hadoop前会格式化namenode。具体命令参考如下:

1、进入安装目录: cd ~/hadoop/  
格式化namenode:./bin/hdfs namenode –format  
启动hdfs: ./sbin/start-dfs.sh  
此时在hadoopMaster上面运行的进程有:namenodesecondarynamenode  
hadoopSlave1和hadoopSlave2上面运行的进程有:datanode  


2、启动yarn: ./sbin/start-yarn.sh  
此时在hadoopMaster上面运行的进程有:namenodesecondarynamenoderesourcemanager  
hadoopSlave1和hadoopSlave2上面运行的进程有:datanode nodemanaget 


3、查看集群状态:./bin/hdfs dfsadmin –report  
查看文件块组成: ./bin/hdfsfsck/ -files -blocks  
查看HDFS: http://hadoopMaster:50070  
查看RM: http:// hadoopMaster:8088  





来自: http://blog.csdn.net//u011067360/article/details/21561061