在Redhat7中安装Hadoop

1、安装Linux、JDK、关闭防火墙、配置主机名
    
    解压:tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
    设置Hadoop的环境变量:  vi ~/.bash_profile
            HADOOP_HOME=/root/training/hadoop-2.7.3
            export HADOOP_HOME
            PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
            export PATH
        生效

        source ~/.bash_profile(在安装hadoop之前要先安装jdk)

2、Hadoop的目录结构


三种安装模式:

1.本地模式(一台机器)

特点:没有HDFS、只能测试MapReduce程序
          MapReduce处理的是本地Linux的文件数据


    vi hadoop-env.sh
    25 export JAVA_HOME=/root/training/jdk1.8.0_144(先查看echo $JAVA_HOME)
    
    测试MapReduce程序:
    1、创建目录  mkdir ~/input
    2、运行(只能测试mapreduce)
            例子:/root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
            hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt ~/output

2.伪分布模式(一台机器)

    特点:是在单机上,模拟一个分布式的环境
          具备Hadoop的主要功能
          
    HDFS: namenode+datanode+secondarynamenode

    Yarn: resourcemanager + nodemanager

配置文件如下:
        hadoop-env.sh
     export JAVA_HOME=/root/training/jdk1.8.0_144(也要添加jdk路径)
    hdfs-site.xml

                        (原则:一般数据块的冗余度跟数据节点(DataNode)的个数一致;最大不超过3)
            
            
               dfs.replication
               1
            

                
            先不设置
            
            
               dfs.permissions
               false
            

    
        core-site.xml
            
            
               fs.defaultFS
               hdfs://bigdata111:9000
            
    


            
            
               hadoop.tmp.dir
               /root/training/hadoop-2.7.3/tmp
            
    
            
        mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml
        
        
           mapreduce.framework.name
           yarn
        
    
        
        yarn-site.xml
        
        
           yarn.resourcemanager.hostname
           bigdata111
        
    


        
        
           yarn.nodemanager.aux-services
           mapreduce_shuffle
        
    

        

在配置好后需要格式化:HDFS(NameNode)
       命令: hdfs namenode -format
        
        日志:
        Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.


    启动停止Hadoop的环境
        start-all.sh
        stop-all.sh
        
    访问:通过Web界面(在访问web页面时要先关闭防火墙或者打开防火墙的下面两个端口,防火墙关闭命令为systemctl                           stop firewalld.service

              systemctl disable firewalld.service)

            web页面

                 HDFS:  http://192.168.157.111:50070
        Yarn:  http://192.168.157.111:8088

3.全分布模式

特点:正在的分布式环境,用于生产
    做好规划
    
    1、准备工作
        (*)关闭防火墙
              systemctl stop firewalld.service
              systemctl disable firewalld.service
              
        (*)安装JDK
        (*)配置主机名  vi /etc/hosts
                192.168.157.112 bigdata112
                192.168.157.113 bigdata113
                192.168.157.114 bigdata114
                
        (*)配置免密码登录:两两之间的免密码登录
            (1) 每台机器产生自己的公钥和私钥
                    ssh-keygen -t rsa
                    
            (2) 每台机器把自己的公钥给别人
                    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
                    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
                    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114
    
        (*)保证每台机器的时间同步(建议直接在虚拟机上直接设置同步主机时间)
                如果时间不一样,执行MapReduce程序的时候可能存在问题
    
    2、在主节点上(bigdata112)安装
        (1)解压设置环境变量
            tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
            
            设置:112 113 114
            HADOOP_HOME=/root/training/hadoop-2.7.3
            export HADOOP_HOME
            PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
            export PATH
            
        (2) 修改配置文件
            hadoop-env.sh
                    export JAVA_HOME=/root/training/jdk1.8.0_144
            hdfs-site.xml
                
                
                   dfs.replication
                   2
                

            
            core-site.xml
                
                
                   fs.defaultFS
                   hdfs://bigdata112:9000
                
    


                
                
                   hadoop.tmp.dir
                   /root/training/hadoop-2.7.3/tmp
                
                
    
            mapred-site.xml 默认没有 cp mapred-site.xml.template mapred-site.xml


                
                
                   mapreduce.framework.name
                   yarn
                
    
    
        yarn-site.xml
    
                
                
                   yarn.resourcemanager.hostname
                   bigdata112
                
    


                
                
                   yarn.nodemanager.aux-services
                   mapreduce_shuffle
                
    
                
        slaves
            bigdata113
            bigdata114
            
        (3) 格式化NameNode: hdfs namenode -format
        (4) 把主节点上配置好的hadoop复制到从节点上
                scp -r hadoop-2.7.3/ root@bigdata113:/root/training(解压后的hadoop的存放目录)
                scp -r hadoop-2.7.3/ root@bigdata114:/root/training

        (5) 在主节点上启动  start-all.sh

启动后输入jps,发现有jps,namenode,datanode,secondrynamenode,resourcemaner,nodemanger,则为正常启动
--------------------- 
作者:博得不在 
来源:CSDN 
原文:https://blog.csdn.net/xxw_sample/article/details/80139489 
版权声明:本文为博主原创文章,转载请附上博文链接!

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