Hadoop学习---第一篇搭建Hadoop集群,---hadoop


开始学习大数据,为了更好的掌握大数据技术,写此博客来记录自己的学习

本环境是基于CentOS6.4 32位,jdk1.7,Hadoop2.4.1搭建

1、新建一台虚拟机,安装好Linux CentOS系统

 2、修改虚拟机IP地址,用root身份登录:vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改为以下内容然后保存

    DEVICE="eth0"
    HWADDR="00:0C:29:3C:BF:E7"
    ONBOOT="yes"
    TYPE="Ethernet"
    UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
    IPADDR=192.168.146.151
    NETMASK=255.255.255.0

    修改完后重启网络服务:service network restart ,然后查看IP是否生效ifconfig

3、修改主机名和主机名和IP映射,以及关闭防火墙

     修改主机名:vim /etc/sysconfig/network

        NETWORKING=yes
        HOSTNAME=namenode

      修改主机名和IP地址映射:vim /etc/hosts

       192.168.146.151  namenode
       192.168.146.152  datanode1
       192.168.146.153  datanode2

       说明:计划datanode的节点IP分别是152和153,所以这里把映射一起配置好

        关闭防火墙:

        chkconfig iptables off(让防火墙关闭永久生效)

         service iptables stop(关闭防火墙)

4、安装jdk配置jdk环境变量和安装hadoop配置环境变量(备注用普通用安装,用root用户配置环境变量)

     tar -zxvf jdk-7u65-linux-i586.tar.gz

     tar -zxvf hadoop-2.4.1.tar.gz

     配置环境变量

    export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65
    export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    为了让配置文件立即生效执行:source /etc/profile

    查看配置文件是否生效:java -version

5、修改hadoop的6个配置文件,所在位置hadoop-2.4.1/etc/hadoop

     core-site.xml(指定namenode机器以及数据的存放位置): 

      <configuration>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://namenode:9000/</value>(备注namenode为namenode的主机名)
       </property>

       <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/hadoop/app/hadoop-2.4.1/tmp</value>
       </property>
     </configuration>

    说明:tmp文件是在hadoop-2.4.1安装好后新建的

     hadoop-env.sh(配置环境变量):

     export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

     hdfs-site.xml(指定备份数):

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

     mapred-site.xml(指定yarn):

       <configuration>
          <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
          </property>
      </configuration>

      yarn-site.xml: 

         <configuration>

         <!-- Site specific YARN configuration properties -->
             <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>namenode(备注namenode主机名)</value>
            </property>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>

         </configuration>

         slaves(每个节点的主机名):

         namenode

         datanode1

         datanode2

6、克隆虚拟机

    选择已经修改好相关配置的虚拟机进行克隆两台机器datanode1和datanode2,克隆出来的机器会拥有之前配置安装好的jdk和hadoop,只需修改这两台机器的ip地址和主机名。

    修改机器IP的方式有两种一种是和上面一样进行修改配置文件,另一种是执行setup命令进行图形界面修改(注意,由于是克隆额机器,网卡应该是eth1,不再是eth0)。配置完成后可以在用主机名相互ping,看看是否通,如果同那就成功

7、配置免密码ssh登录

    用ssh 登录到其他机器都要输入密码,这样以后通讯不方便。

    因为以后经常namenode要访问datanode的机器,所以在namenode机器上配置免密码登录。

   

   #生成ssh免登陆密钥
   #进入到我的home目录
   cd ~/.ssh

   ssh-keygen -t rsa (四个回车)
   执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
   将公钥拷贝到要免密登陆的目标机器上
   ssh-copy-id namenode

   ssh-copy-id datanode1

   ssh-copy-id datanode2

   用ssh登录远程机器看看是否需要密码,不需要密码那就配置成功

8、格式化namenode

    在namenode机器上执行,切换到hadoop-2.4.1/bin目录,执行hadoop namenode -format

9、在namenode启动集群

    start-dfs.sh

    start-yarn.sh

    用jps命令查看是否成功,namenode有以下信息则成功

   27408 NameNode
   28218 Jps
   27643 SecondaryNameNode
   28066 NodeManager
   27803 ResourceManager
   27512 DataNode

  http://192.168.146.151:50070 (HDFS管理界面)
  http://192.168.146.151:8088 (MR管理界面)

到此整个集群就配置成功

 

 

 

 

    

 

 

 

 

相关内容