Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1  安装并配置jdk和hadoop

1.1 安装文件传输软件

    安装文件传输软件SSHSecureShellClient3.2.9软件

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境  

    通过“SSH Secure File Transfer Client”向linux虚拟机传送hadoop-2.7.1.tar.gz和jdk-8u60-linux-x64.tar.gz。Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

      在linux虚拟机上,运行ls命令,可以看到,我们上传的两个压缩文件。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.2  解压jdk和hadoop    

      在linux虚拟机上解压文件,并通过mv命令重命名文件夹名称为hadoop和jdk8。

      #tar–xzvf hadoop-2.7.1.tar.gz

      #tar–xzvf jdk-8u60-linux-x64.tar.gz

      #mv jdk1.8.0_60 jdk1.8

      #mv hadoop-2.7.1 hadoop

                                

     解压hadoop:

 Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境
Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     解压jdk: 

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     重命名:

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.3 配置/etc/profile中的环境变量

     执行#sudo vi /etc/profile,并添加下列内容:

     export  JAVA_HOME=/home/hadoop/jdk1.8

     export  JRE_HOME =/home/hadoop/jdk1.8/jre

     export  HADOOP_HOME = /home/hadoop/hadoop

     export  CLASSPATH =$ {JAVA_HOME}/lib: $ {JRE_HOME}/lib

     export PATH=${HADOOP_HOME}/bin: ${HADOOP_HOME}/sbin:${JAVA_HOME}/bin:$PATH

 

     执行vi命令,打开/etc/profile文件:

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     使用sudo命令时,需要输入hadoop用户的密码。

     进入/etc/profile文件,添加export语句内容后,按下esc键,输入:wq命令,保存并推出/etc/profile文件。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.4  修改hadoop环境参数

      修改hadoop/etc/hadoop下的hadoop-env.sh、mapred-env.sh、yarn-env.sh中的内容:

      export JAVA_HOME=/home/hadoop/jdk8

 

     首先,通过#cd  hadoop/etc/hadoop,进入文件所在目录,可通过ls命令查看目录下的文件;然后,#vi hadoop-env.sh:

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

      在文件中,找到export  JAVA_HOME行内容,修改后保存退出(Esc,  :wq)。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     同理,编辑mapred-env.sh、yarn-env.sh中的对应内容:

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.5 建立文件目录

      #mkdir  /home/hadoop/hadoop/tmp

      #mkdir  /home/hadoop/hadoop/dfs

      #mkdir  /home/hadoop/hadoop/dfs/name

      #mkdir  /home/hadoop/hadoop/dfs/data

 Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境


      注:cd命令的使用

     (1)直接使用cd,不带任何参数,表示回到当前用户的主目录。针对hadoop用户,它的主目录是/home/hadoop。

     (2)cd hadoop,表示进入当前目录下的hadoop子目录。

     (3)cd .. ,表示回到从当前目录切换到上一级目录。

     Cd命令通常会结合pwd、ls等命令一起使用。

     pwd命令用于显示当前的目录路径信息;ls命令用于查看当前目录中的文件和子目录情况。

1.6 修改hadoop的xml配置文件

1.6.1. 配置说明

      修改hadoop的xml配置文件的方法与修改hadoop环境参数的方法类似,都是先通过 cd命令进入配置文件所在的目录,然后通过vi编辑器进行xml文件的编辑。

      注:

      (1)下面配置文件中的中文注释,在进行配置时,需要去掉,否则会因为编码格式问题,导致hadoop启动时不能正确解析xml的情况出现。

     (2)core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四个xml配置文件都位于/home/hadoop/hadoop/etc/hadoop目录下。

     (3)如果嫌vi编辑器编辑文本麻烦的话,可以通过SSH Secure File Transfer软件将四个xml文件(mapred-site.xml默认情况下不存在,只有mapred-site.xml.template文件存在,拷贝该文件后重命名即可)拷贝到windows环境下,通过文本编辑器进行配置修改后(具体参加后面的具体配置内容),再拷贝回Linux的/home/hadoop/hadoop/etc/hadoop目录,覆盖原文件即可。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.6.2 配置core-site.xml文件

     修改hadoop/etc/hadoop下的core-site.xml

         <configuration>

         <property>

                   <name>hadoop.tmp.dir</name>

                   <value>/home/hadoop/hadoop/tmp</value>

         </property>

         <property>

                   <name>fs.defaultFS</name>

                   <value>hdfs://master:8020</value>

         </property>

         </configuration>

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.6.3 配置hdfs-site.xml文件

      修改hadoop/etc/hadoop下的hdfs-site.xml

         <configuration>

<!--配置文件的副本数,副本数不能大于datanode数目-->

         <property>

                   <name>dfs.replication</name>

                   <value>3</value>

         </property>

         <property>

                   <name>dfs.namenode.secondary.http-address</name>

                   <value>master:9001</value>

         </property>

         <property>

                   <name>dfs.datanode.name.dir</name>

                   <value>file:/home/hadoop/hadoop/dfs/name</value>

         </property>

         <property>

                   <name>dfs.datanode.data.dir</name>

                   <value>file:/home/hadoop/hadoop/dfs/data</value>

         </property>

         <property>

                   <name>dfs.webhdfs.enabled</name>

                   <value>true</value>

         </property>

<!--防止出现不允许远程读写hdfs,不建议使用

         <property>

                   <name>dfs.permissions.enabled</name>

                   <value>false</value>

         </property>

 -->

<!--namenode每3秒发一个心跳信号-->

         <property>

                   <name>dfs.heartbeat.interval</name>

                   <value>3</value>

         </property>

<!--心跳机制recheck的间隔,当某个节点在35000/1000*2+3*10即100s内无响应,则集群将其标记为dead-->

         <property>

                   <name>dfs.namenode.heartbeat.recheck-interval</name>

                   <value>35000</value>

         </property>

</configuration>

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.6.4  配置mapred-site.xml文件

修改hadoop/etc/hadoop下的mapred-site.xml

         <configuration>

         <property>

                   <name>mapreduce.framework.name</name>

                   <value>yarn</value>

         </property>

<!--history要手动启动,启动命令为:mr-jobhistory-daemon.sh starthistoryserver,这样在web上就可以访问master:19888端口了,这是查看job的history信息的端口-->

         <property>

                   <name>mapreduce.jobhistory.address</name>

                   <value>master:10020</value>

         </property>

         <property>

                   <name>mapreduce.jobhistory.webapp.address</name>

                   <value>master:19888</value>

         </property>

</configuration>

 Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.6.5  配置yarn-site.xml文件

      修改hadoop/etc/hadoop下的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.scheduler.address</name>

                   <value>master:8030</value>

         </property>

<property>

                  <name>yarn.resourcemanager.resource-tracker.address</name>

                   <value>master:8031</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.address</name>

                   <value>master:8032</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.admin.address</name>

                   <value>master:8033</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.webapp.address</name>

                   <value>master:8088</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.hostname</name>

                   <value>master</value>

         </property>

</configuration>

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.7  修改masters和slaves

      修改hadoop/etc/hadoop下的masters和slaves两个文件。

      在masters中增加内容:

      master


Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     在slaves中增加内容:

     master

     slave1

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

        注:masters中的配置表示secondarynamenode所在的节点机,默认没有该文件,通过vi编辑保存后自动创建了该文件;slaves中的配置表示datanode节点机。

1.8  关闭linux虚拟机

        在命令行下输入下列命令,关闭虚拟机。

      #sudo  init  0

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.9    克隆master虚拟机

     通过Vmware克隆master虚拟机为slave1虚拟机。

     Vmware->虚拟机->管理->克隆,克隆时选择“完全克隆”。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.10  配置slave1虚拟机

1.10.1 启动虚拟机

    启动虚拟机slave1

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.10.2 修改主机名

     将slave1的主机名由master修改为slave1。

     #sudo vi  /etc/hostname

     slave1

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.10.3  修改IP地址

     修改slave1的ip地址为192.168.10.11

     #sudo vi /etc/network/interfaces

     auto eth0

     iface eth0 inet static

     address 192.168.10.11

    netmask 255.255.255.0

    gateway 192.168.10.1

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.10.4 重启虚拟机

     通过命令#sudo reboot重启虚拟机slave1。

1.11     无**登录ssh

1.11.1  启动master虚拟机

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.11.2  生成**文件对

     在master上运行命令

     #ssh-******–t rsa

    一路回车,创建一对**文件(公钥和私钥,其中id_rsa.pub是公钥,id_rsa为私钥)。

    进入.ssh目录,可以看到生成的**对文件id_rsa.pub和id_rsa。Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

1.11.3  拷贝公钥文件

      在master上运行命令

      #[email protected]

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

      上面的命令执行过程中,建立连接提示时,选“yes”,回车。之后输入master主机hadoop的密码。执行完后,输入命令#ssh master,正常的应该出现如下的界面(即,不需要输入master的hadoop用户密码,就可以通过ssh登录master主机了)。

 Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     在命令行输入#exit退出ssh登录,回到.ssh目录。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

    在master上运行命令

    #[email protected]

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

      上面的命令执行过程中,建立连接提示时,选“yes”,回车。之后输入slave1主机hadoop的密码。执行完后,输入命令#ssh slave1,正常的应该出现如下的界面(即,不需要输入slave1的hadoop用户密码,就可以通过ssh登录slave1主机了)。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

     输入#exit退出slave1的ssh登录。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

2     启动Hadoop

2.1     格式化HDFS文件系统

     在master主机上执行下述命令,用于格式化HDFS文件系统。

    #hadoop namenode –format

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

    执行结果如下所示,表示HDFS文件系统格式化成功。

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

2.2 启动Hadoop

    在master主机上执行下述命令,用于格式化HDFS文件系统。

    #start-all.sh

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

    启动命令执行完成后的界面如上图所示。

2.3 查看进程

    在master主机上执行#jps,查看进程信息应该有如下进程:

    NodeManager

    NameNode

    Jps

    DataNode

    SecondaryNameNode

    ResourceManager

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

       用#ssh slave1登录到slave1,执行#jps,查看进程信息应该有如下进程:

      Jps

      NodeManager

      DataNode

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

      在浏览器中输入IP地址:192.168.10.10:50070,会出现如下界面:

Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境

      至此,说明整个Hadoop系统安装成功。