Hadoop的安装和配置(伪分布+全分布)

(一)准备工作
        1、安装Linux和配置Linux
        2、关闭防火墙、配置主机名
        3、安装JDK
              (1)解压安装包      tar -xf   jdk-8u144-linux-x64.tar.gz -C /root/training
              (2)配置环境变量

                    JAVA_HOME=/root/training/jdk1.8.0_144
                    export  JAVA_HOME

                    PATH=$JAVE_HOME/bin:$PATH
                    export PATH

               (3)生效环境变量   source   ~/.bash_profile

               (4)查看是否配置成功  java -version 

(二)Hadoop的目录结构(/root/training/hadoop-2.7.3)
           (1)查看目录结构   tree hadoop-2.7.3/ -d -L 2

          

           (2)设置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的三种安装模式
        1、本地模式:只修改一个参数vi hadoop-env.sh-------hadoop-env.sh  JAVE_HOME /root/training/jdk1.8.0_144
            特点:没有HDFS,只能测试MapReduce程序(不是运行在Yarn中,做一个独立的Java程序来运行)

            

              
            测试MapReduce程序:
            hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /root/temp/input/data.txt /root/temp/output/wc
            
            注意:路径都是本地Linux的路径

           
           


        2、伪分布模式
             特点:在单机上,模拟一个分布式的环境,具备Hadoop的所有功能
                    HDFS:NameNode + DataNode + SecondaryNameNode
                    Yarn:ResourceManager + NodeManager
                    
            (*)hadoop-env.sh :JAVA_HOME    /root/training/jdk1.8.0_144
            (*)hdfs-site.xml


                    <!--配置数据块的冗余度,默认是3-->
                    <!--原则冗余度跟数据节点个数保持一致,最大不要超过3-->
                    <property>    
                        <name>dfs.replication</name>
                        <value>1</value>
                    </property>

                    <!--是否开启HDFS的权限检查,默认是true-->
                    <!--使用默认值,后面会改为false-->
                    <!--
                    <property>    
                        <name>dfs.permissions</name>
                        <value>false</value>
                    </property>                
                    -->           

            (*)core-site.xml

                    <!--配置HDFS主节点的地址,就是NameNode的地址-->
                    <!--9000是RPC通信的端口-->
                    <property>    
                        <name>fs.defaultFS</name>
                        <value>hdfs://bigdata111:9000</value>
                    </property>    

                    <!--HDFS数据块和元信息保存在操作系统的目录位置-->
                    <!--默认是Linux的tmp目录,一定要修改-->
                    <property>    
                        <name>hadoop.tmp.dir</name>
                        <value>/root/training/hadoop-2.7.3/tmp</value>
                    </property>

            (*)mapred-site.xml(默认没有这个文件----mv mapred-site.xml mapre-site.xml)

                    <!--MR程序运行容器或者框架-->
                    <property>    
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                    </property>     

            (*)yarn-site.xml

                    <!--配置Yarn主节点的位置-->
                    <property>    
                        <name>yarn.resourcemanager.hostname</name>
                        <value>bigdata111</value>
                    </property>            

                    <!--NodeManager执行MR任务的方式是Shuffle洗牌-->
                    <property>    
                        <name>yarn.nodemanager.aux-services</name>
                        <value>mapreduce_shuffle</value>
                    </property>    

            (*)对HDFS的NameNode进行格式化  -----> 目录:/root/training/hadoop-2.7.3/tmp
                    举例:软盘,需要格式化
                    
                    命令:hdfs namenode -format
                    日志:Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted. 

            (*)启动:
                    HDFS:start-dfs.sh
                    Yarn:    start-yarn.sh
                    统一的:start-all.sh
                    
                    Web Console访问:hdfs: 端口: 50070
                                                    yarn: 端口:8088

                (*) ssh 免密登陆原理和配置

                    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
                    cat id_dsa.pub >> authorized_keys

           3、全分布模式:真正用于生产的环境
                (1)至少需要3台机器
                (2)集群的规划
                (3)准备工作
            (*)安装三台Linux、JDK、关闭防火墙
            (*)设置主机名和IP:  vi /etc/hosts
                    192.168.40.101 node001
                    192.168.40.102 node002
                    192.168.40.103 node003
            
            (*)配置免密码登录:两两之间的免密码登录
                    ssh-copy-id -i .ssh/id_rsa.pub root@node001
                    ssh-copy-id -i .ssh/id_rsa.pub root@node002
                    ssh-copy-id -i .ssh/id_rsa.pub root@node003
                    
            (*)保证集群的时间同步

                      eg:date -s 2020-04-14
            
        4、在主节点上安装(node001)
            (*)解压和设置环境变量
            (*)hadoop-env.sh
                    export JAVA_HOME=/root/training/jdk1.8.0_144
                    
            (*)hdfs-site.xml

                    <!--配置数据块的冗余度,默认是3-->
                    <!--原则冗余度跟数据节点个数保持一致,最大不要超过3-->
                    <property>    
                        <name>dfs.replication</name>
                        <value>2</value>
                    </property>

                    <!--是否开启HDFS的权限检查,默认是true-->
                    <!--使用默认值,后面会改为false-->
                    <!--
                    <property>    
                        <name>dfs.permissions</name>
                        <value>false</value>
                    </property>                
                    -->    

                  
            (*)core-site.xml

                    <!--配置HDFS主节点的地址,就是NameNode的地址-->
                    <!--9000是RPC通信的端口-->
                    <property>    
                        <name>fs.defaultFS</name>
                        <value>hdfs://node001:9000</value>
                    </property>    

                    <!--HDFS数据块和元信息保存在操作系统的目录位置-->
                    <!--默认是Linux的tmp目录,一定要修改-->
                    <property>    
                        <name>hadoop.tmp.dir</name>
                        <value>/root/training/hadoop-2.7.3/tmp</value>
                    </property>  

               (*)mapred-site.xml

                    <!--MR程序运行容器或者框架-->
                    <property>    
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                    </property>

               (*)yarn-site.xml

                    <!--配置Yarn主节点的位置-->
                    <property>    
                        <name>yarn.resourcemanager.hostname</name>
                        <value>node001</value>
                    </property>            

                    <!--NodeManager执行MR任务的方式是Shuffle洗牌-->
                    <property>    
                        <name>yarn.nodemanager.aux-services</name>
                        <value>mapreduce_shuffle</value>
                    </property>  

             (*)slaves 配置从节点地址 (node002,node003)      

             (*)对namenode进行格式化(与伪分布一样)
            
        5、把node001上安装好的目录复制到从节点上(不需要重新配)
             scp -r hadoop-2.7.3/ root@node002:/root/training
             scp -r hadoop-2.7.3/ root@node003:/root/training
        
        6、在主节点上启动集群
             start-all.sh
          
    
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值