准备工作:

  1. 3台装有CentOS的虚拟机,分别命名为hadoop.mini01/02/03。推荐采用最小安装。
  2. 虚拟机上需要安装JDK(JAVA_HOME本文使用 /usr/local/jvm/jdk1.8.0_172)
  3. 本地可使用SecureCRT访问以上3台虚拟机
  4. 在hadoop.apache.org下载hadoop(2.6.5版下载地址

集群安装步骤:

      1.添加hadoop用户,输入如下指令:

         sudo addgroup hadoop

         sudo adduser --ingroup hadoop hadoop

         一些老版本的命令是:

         sudo groupadd hadoop

         sudo useradd -g hadoop hadoop

    (前一个hadoop为组名,后面才是用户名,用户名可以自己取,我方便起见写了hadoop。后面会让你输入一个密码,是你登录这个用户时的密码,键入之后,出现任何提示都直接回车表示默认)

         输入如下指令让hadoop可使用sudo命令:        

         sudo vim /etc/sudoers

         在"root   ALL=(ALL)  ALL"下面,加上:

         hadoop  ALL=(ALL:ALL)  ALL

         

centos系统中使用wget命令下载hadoop centos安装hadoop教程_CentOS

 

        输入su hadoop即可登入该用户

        注:三个虚拟机都需要进行上面的操作(可以先做一份,然后克隆两份,再进行修改,记得登录hadoop用户,接下来的配置都在这个用户下进行配置)。之后的操作2和操作3只需在一台虚拟机进行。

 

      2.解压HADOOP:

       通过SFTP将本地HADOOP包上传至~/apps后,解压:

       输入以下命令:

        tar -zxvf ~/apps/hadoop-2.6.5.tar.gz -C ~/apps/

       3.配置HADOOP和相关初始化:

       ①为hadoop-env.sh加JDK环境变量

           vim ~/apps/hadoop-2.6.5/etc/hadoop/hadoop-env.sh

           

centos系统中使用wget命令下载hadoop centos安装hadoop教程_Hadoop_02

           此处将JAVA_HOME改成虚拟机JDK目录的绝对路径(因为SSH启用时,无法读到PATH)。

            

centos系统中使用wget命令下载hadoop centos安装hadoop教程_hadoop_03

       

        ②配置core-site.xml:

           键入命令:

           vim ~/apps/hadoop-2.6.5/etc/hadoop/core-site.xml

           修改configuration中的内容(hadoop.mini01须替换成你的机器Hostname):

<configuration>
    <!--指定namenode的地址-->
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop.mini01:9000</value>
    </property>
    <!--用来指定使用hadoop时产生文件的存放目录-->
    <property>
             <name>hadoop.tmp.dir</name>
             <value>/home/hadoop/hdpdata</value> 
    </property>
		
        <!--用来设置检查点备份日志的最长时间-->
        <!--<name>fs.checkpoint.period</name> -->
        <!--<value>3600</value>-->
 </configuration>

 

        ③配置hdfs-site.xml:

           键入命令:

           vim hdfs-site.xml

           修改configuration中的内容(默认可以不用配置):

<configuration>
    <!--指定hdfs保存数据的副本数量,必要-->
    <property>
            <name>dfs.replication</name>
            <value>2</value>
    </property>
	<property>
            <name>dfs.secondary.http.address</name>
            <value>192.168.12.201:50090</value>
    </property>
</configuration>

 

        ④配置mapred-site.xml.template        (如果不进行配置,hadoop将在local运行)

           键入命令:

           vim mapred-site.xml.template

           修改configuration中的内容:

<configuration>
    <!--告诉hadoop以后MR(Map/Reduce)运行在YARN上,必要-->
        <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
       </property>
</configuration>

         将文件重命名,键入以下命令:

         mv mapred-site.xml.template mapred-site.xml

        ⑤配置yarn-site.xml

           键入命令:

           vim yarn-site.xml

           修改configuration中的内容:

<configuration>
    <!--指定Yarn的老大(ResourceManager)的地址,必要-->     
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>hadoop.mini01</value>
    </property>
	<!--nomenodeManager获取数据的方式是shuffle,必要-->
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    <!--Yarn打印工作日志-->    
    <!--<property>  -->  
    <!--    <name>yarn.log-aggregation-enable</name> -->
    <!--   <value>true</value>    -->
    <!--</property> -->
<configuration>

        (注:上述4个site文件之所谓分开配置,是为了方便将来需要变更时单独管理配置)

      4.分发已配置好的hadoop至其他虚拟机:

         键入命令:scp -r ~/apps hadoop.mini02:/home/hadoop/

         其中红色部分为所需Hadoop虚拟机的Hostname(须自行事先配置,有几台就做几次)。

      5.进行hdfs初始化:

         ①配置HDFS进profile环境变量:

          键入命令:

           cd ~/apps/hadoop-2.6.5/

           pwd

           获取hadoop路径。

centos系统中使用wget命令下载hadoop centos安装hadoop教程_Linux_04

          键入命令:

           sudo vim /etc/profile

          在文件中加入HADOOP_HOME,并修改PATH:

            export  HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.5

           PATH项末尾加入:

           :${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin 

centos系统中使用wget命令下载hadoop centos安装hadoop教程_CentOS_05

           将修改好的profile文件分发至其他机器:

           键入命令: 

hadoop.mini02:/etc/

           其中红色部分为所需Hadoop虚拟机的Hostname(须自行事先配置,有几台就做几次)。

centos系统中使用wget命令下载hadoop centos安装hadoop教程_xml_06

           完成分发后,在01机上键入命令:

           source /etc/profile

           ②HDFS进行初始化:

           在namenode定义的虚拟机上,键入命令:

           hadoop namenode -format

centos系统中使用wget命令下载hadoop centos安装hadoop教程_hadoop_07

           提示初始化成功!