第二篇:操作篇之Hadoop三种环境的安装与配置

一、Hadoop安装前的准备工作
=================================
     1、安装centOS操作系统(参考发的大数据工具中的Linux文件夹下的安装文档)

     2、使用下发的大数据工具中的SSH_SFTP工具进入系统中,新建两个目录
          mkdir /tools       ---->用于存放软件包
          mkdir /training    ---->用于安装软件
    
     3、安装JDK
          (*) 上传jdk-8u171-linux-x64.tar.gz到tools目录下,然后执行下面的命令进行解压安装
                    tar -zvxf jdk-8u171-linux-x64.tar.gz  -C /training/
          (*) 配置环境变量:
                    vi ~/.bash_profile
                    在.bash_profile文件中添加如下信息:
                         export JAVA_HOME=/training/jdk1.8.0_171
                         export JRE_HOME=$JAVA_HOME/jre
                         export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
                         export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;
          (*) 让环境变量生效
                    source ~/.bash_profile
          (*) 验证jdk是否安装成功
                    java -version
         
     3、关闭防火墙(CentOS7下)
          systemctl stop firewalld.service
          systemctl disable firewalld.service
              
     4、配置主机名(如何已经设置,此步骤可以不用设置)
          hostnamectl --static set-hostname niit
          说明:--static 参数代表永久生效 niit表达你希望设置的主机名
         
二、安装hadoop:
====================================
          (1)上传hadoop-2.7.3.tar.gz到tools目录下,然后执行下面的命令进行解压安装
                    tar -zvxf hadoop-2.7.3.tar.gz -C /training/
         
          (2)配置环境变量:
                    vi ~/.bash_profile
                    添加如下信息:
                    export HADOOP_HOME=/training/hadoop-2.7.3
                    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
                   
          (3)让环境变量生效:
                    source ~/.bash_profile
                   
          (4)验证是否生效:
                    执行:hdfs 或者hadopo 有相关信息出现即可
              
三、hadoop的三种安装方式
=================================================
     0、首页配置主机名与IP地址的映射关系
          vi /etc/hosts
          在文件的末尾添加类似于
          192.168.215.152 niit04这样的格式ip和主机名称选择自己的即可
         
     1、本地模式 (特点:没有HDFS,只能进行MapReduce计算,而且只操作Linux上的文件)
          (1)此模式下只需要配置hadoop-env.sh文件即可,修改该文件:
                    vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
          (2)在hadoop-env.sh 文件中找到JAVA_HOME,并进行如下修改
                    export JAVA_HOME=/training/jdk1.8.0_171
          (3)运行MapReduce程序进行测试:
              
               测试前需要创建测试目录和测试文件:
                    mkdir ~/input
                    vi ~/input/test.txt
                    输入如下内容:
                    I love Guiyang
                    I love Guizhou
                    Guiyang is the capital of Guizhou
                    保存退出
                    进入到:cd /training/hadoop-2.7.3/share/hadoop/mapreduce/目录下
                    执行:~/output 不需要事先存在,存在会报错
                    hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/test.txt ~/output
               查看结果:
                   
                    cat ~/output/part-r-0000
                   
                    MapReduce程序的执行结果会默认按照英文单词的字典顺序进行了排序
         
     2、伪分布模式 (特点:具备HDFS全部功能)
          (0)新建一个tmp目录:mkdir /training/hadoop-2.7.3/tmp
          (1)配置免密码登录:
               执行如下命令:
                    (*)ssh-keygen -t rsa
                    (*)cd ~/.ssh/
                    (*)ssh-copy-id -i id_rsa.pub root@niit04
          (2)进入到/training/hadoop-2.7.3/etc/hadoop目录下
               cd /training/hadoop-2.7.3/etc/hadoop
               需要对五个文件进行配置:
               (*)hadoop-env.sh
               (*)hdfs-site.xml
               (*)core-site.xml
               (*)mapper-site.xml
               (*)yarn-site.xml
          (3)对(2)中的五个文件进行配置,配置步骤如下:
               (*)hadoop-env.sh的配置参考本地模式中的(1)(2)两个步骤
               (*)配置hdfs-site.xml文件:
                    vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
                    在hdfs-site.xml文件的之间添加如下信息:
                         
                            dfs.replication
                            1
                         

                         
                            dfs.permissions
                            false
                         

              
               (*)配置core-site.xml文件:
                    vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
                    在core-site.xml文件的之间添加如下信息:
                         
                              fs.defaultFS
                              hdfs://niit04:9000
                         
             
                         
                              hadoop.tmp.dir
                              /training/hadoop-2.7.3/tmp
                         

    
               (*)配置mapper-site.xml文件(这个文件事先是不存在的,需要复制一份)
                    (1)cp /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
                    (2)vi /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
                    (3)在mapper-site.xml文件的之间添加如下信息:
                             
                                   mapreduce.framework.name
                                   yarn
                             

              (*)配置yarn-site.xml文件:
                    vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml
                    在yarn-site.xml文件的之间添加如下信息:
                         
                            yarn.resourcemanager.hostname
                            niit04
                         

                         
                            yarn.nodemanager.aux-services
                            mapreduce_shuffle
                         
   
         
          (4)格式化:HDFS(NameNode)
                    hdfs namenode -format
                    成功日志:
                         common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
         
          (5)启动hadoop环境
                    start-all.sh
          (6)验证:
                    (1)web界面进行验证
                              HDFS:http://niit04:50070
                              Yarn:http://niit04:8088
                    (2)执行jps命令,看看是否会有如下进程:
                              NameNode
                              DataNode
                              SecondaryNameNode
                              ReourceManager
                              NodeManager
         (7)如果需要停止,则执行如下操作:
                    stop-all.sh
          (8)伪分布模式安装配置已完成

     3、全分布模式(需要3台主机,niit01,niit02,niit03,其中niit01是主节点,其他是从节点)
          一、准备工作
               1、所有主机安装jdk
               2、所有主机都需要关闭防火墙
               3、所有主机都需要配置主机名映射关系  vi /etc/hosts
               4、配置免密码登录(配置两两之间的免密码登录)
                    所有的机器都需要产生一对密钥:公钥和私钥
                    ssh-keygen -t rsa
                    所有主机需要执行
                    ssh-copy-id -i .ssh/id_rsa.pub root@niit01
                    ssh-copy-id -i .ssh/id_rsa.pub root@niit02
                    ssh-copy-id -i .ssh/id_rsa.pub root@niit03
                   
               5、保证每台机器的时间是一样的
                    如果不一样的话,我们在执行MapReduce程序的时候可能会存在问题
                    解决方案:
                         1)搭建一个时间同步的服务器,网上很多教程可以使用
                         2)使用putty工具,可以简单实现这个功能:
                              date -s 2018-07-30 后面必须敲一个回车
                             
          二、在主节点上进行安装配置(niit01)
               (*)上传hadoop安装包,解决配置环境变量
                      tar -zvxf /tools/hadoop-2.7.3.tar.gz -C /training/
                      同时设置:niit01 niit02 niit03
                         HADOOP_HOME=/training/hadoop-2.7.3
                         export HADOOP_HOME
                         PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
                         epxort PATH
                        
               (*)mkdir /training/hadoop-2.7.3/tmp
              
               (*)修改配置文件
                    vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh  设置JDK的路径-参考伪分布模式
                    vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml  参考伪分布环境
                    添加如下信息:
                         
                            dfs.replication
                            2
                         

                         
                            dfs.permissions
                            false
                         

                        
                    vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
                    添加如下信息:
                         
                              fs.defaultFS
                              hdfs://niit01:9000
                         
             
                         
                              hadoop.tmp.dir
                              /training/hadoop-2.7.3/tmp
                         

                        
                    vi /training/hadoop-2.7.3/etc/hadoop/mapper-site.xml
                         添加如下信息:
                         
                              mapreduce.framework.name
                              yarn
                         

                        
                    vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml:
                              添加如下信息:
                             
                             
                                 yarn.resourcemanager.hostname
                                 niit01
                             

                             
                             
                                 yarn.nodemanager.aux-services
                                 mapreduce_shuffle
                             
   
                    vi /training/hadoop-2.7.3/etc/hadoop/slaves:
                         添加如下信息:
                         niit02
                         niit03
               (*)格式化nameNode
                         hdfs namenode -format
                         日志:
                         common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
               (*)将niit01上的hadoop环境复制到niit02 niit03
                         scp -r hadoop-2.7.3/ root@niit02:/training/
                         scp -r hadoop-2.7.3/ root@niit03:/training/
               (*)在主节点(niit01)上启动hdfs
                    start-all.sh
 

你可能感兴趣的:(大数据)