zoukankan      html  css  js  c++  java
  • 大数据笔记(三)——Hadoop2.0的安装与配置

    一.Hadoop安装部署的预备条件

    准备:1、安装Linux和JDK。

    安装JDK

    解压:tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/
    设置环境变量:vi ~/.bash_profile
            JAVA_HOME=/root/training/jdk1.8.0_144
            export JAVA_HOME
    
            PATH=$JAVA_HOME/bin:$PATH
            export PATH
            
    生效环境变量: source  ~/.bash_profile

       2、关闭防火墙

    查看防火墙的状态:systemctl status firewalld.service
    关闭防火墙:      systemctl stop firewalld.service
    禁用防火墙(永久)systemctl disable firewalld.service

         3、配置主机名

    输入:vi /etc/hosts,回车

    192.168.153.11 bigdata11


    解压hadoop:tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
    设置环境变量: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的目录结构

      

    三.Hadoop安装部署的三种模式

      1.本地模式

      2.伪分布模式

      3.全分布模式

    本地模式的配置
    参数文件 配置参数 参考值
    hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144

    本地模式 一台Linux
    (*)特点:没有HDFS,只能测试MapReduce程序(本地数据:Linux的文件)
    (*)配置:hadoop-env.sh
    26行 export JAVA_HOME=/root/training/jdk1.8.0_144

    (*)Demo:测试MapReduce程序
    example: /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 ~/temp/data.txt ~/temp/mr/wc1

    伪分布模式的配置
    参数文件 配置参数 参考值
    hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
    hdfs-site.xml dfs.replication 1
    dfs.permissions false
    core-site.xml fs.defaultFS hdfs://<hostname>:9000
    hadoop.tmp.dir /root/training/hadoop-2.7.3/tmp
    mapred-site.xml mapreduce.framework.name yarn
    yarn-site.xml yarn.resourcemanager.hostname <hostname>
    yarn.nodemanager.aux-services mapreduce_shuffle
    伪分布模式    一台Linux
            (*)特点:在单机上,模拟一个分布式的环境,具备Hadoop的所有功能
            (*)hdfs-site.xml
            
                    <!--数据块的冗余度,默认是3-->
                    <property>
                      <name>dfs.replication</name>
                      <value>1</value>
                    </property>
    
                    <!--是否开启HDFS的权限检查,默认:true-->
                    <!--
                    <property>
                      <name>dfs.permissions</name>
                      <value>false</value>
                    </property>
                    -->
                    
                core-site.xml
                    <!--NameNode的地址-->
                    <property>
                      <name>fs.defaultFS</name>
                      <value>hdfs://bigdata11: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程序运行的容器是Yarn-->
                    <property>
                      <name>mapreduce.framework.name</name>
                      <value>yarn</value>
                    </property>        
    
                yarn-site.xml
                    <!--ResourceManager的地址-->
                    <property>
                      <name>yarn.resourcemanager.hostname</name>
                      <value>bigdata11</value>
                    </property>        
    
                    <!--NodeManager运行MR任务的方式-->
                    <property>
                      <name>yarn.nodemanager.aux-services</name>
                      <value>mapreduce_shuffle</value>
                    </property>    
    
                对NameNode进行格式化: hdfs namenode -format
                     日志:Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
                     
                启动:start-all.sh = start-dfs.sh + start-yarn.sh
    全分布模式的配置
    参数文件 配置参数 参考值
    hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
    hdfs-site.xml dfs.replication 2
    dfs.permissions false
    core-site.xml fs.defaultFS hdfs://<hostname>:9000
    hadoop.tmp.dir /root/training/hadoop-2.7.3/tmp
    mapred-site.xml mapreduce.framework.name yarn
    yarn-site.xml yarn.resourcemanager.hostname <hostname>
    yarn.nodemanager.aux-services mapreduce_shuffle
    slaves DataNode的地址 从节点1、从节点2

    全分布模式安装详解

    1、三台机器:bigdata12 bigdata13 bigdata14
    2、每台机器准备工作:

        a.安装JDK

        b.关闭防火墙

    systemctl stop firewalld.service
    systemctl disable firewalld.service

                   c.设置主机名: vi /etc/hosts

    192.168.153.12 bigdata12
    192.168.153.13 bigdata13
    192.168.153.14 bigdata14

    如果出现以下警告信息

    四.验证Hadoop环境

    HDFS Console: http://192.168.153.11:50070

     

    正常情况下,安全模式是关闭的。因为安全模式下,HDFS是只读

    Yarn Console: http://192.168.153.11:8088

     3.配置SSH免密码登录

      

    (1)在每台机器上产生公钥和私钥

    ssh-keygen -t rsa


    (2)需要将每台机器的公钥复制给其他机器(下面的三句话,需要在每台机器上执行

    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata12
    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata13
    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata14

    4、保证每台机器的时间同步的
    5、安装Hadoop的全分布环境(在主节点bigdata12上安装)

    (1)解压设置环境变量
    (2)修改配置文件
      hadoop-env.sh

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

      hdfs-site.xml

    <!--数据块的冗余度,默认是3-->
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    
    <!--是否开启HDFS的权限检查,默认:true-->
    <property>
    <name>dfs.permissions</name>
    <value>false</value>
    </property>

      core-site.xml

    <!--NameNode的地址-->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://bigdata12: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程序运行的容器是Yarn-->
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>

      yarn-site.xml

    <!--ResourceManager的地址-->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>bigdata12</value>
    </property>        
    
    <!--NodeManager运行MR任务的方式-->
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

      slaves: 配置的是所有的从节点

    bigdata13
    bigdata14

    (3)格式化NameNode: 

    hdfs namenode -format

    6、将配置好的目录复制到bigdata13和bigdata14上

    scp -r hadoop-2.7.3/ root@bigdata13:/root/training
    scp -r hadoop-2.7.3/ root@bigdata14:/root/training

    7、启动Hadoop集群(在主节点上):

    start-all.sh

    关闭:stop-all.sh

    8、验证
    (*)命令行:hdfs dfsadmin -report
    (*)网页:HDFS:http://192.168.153.12:50070/
             Yarn:http://192.168.153.12:8088

  • 相关阅读:
    MIUI6&7桌面角标开源代码简介
    竞品技术三瞥安装包的大小
    java synchronized详解
    挖掘微信Web版通信的全过程
    ios app的真机调试与发布配置
    Adapter优化方案的探索
    Gradle学习目录总结
    Eclipse混淆文件导入Android Studio Gradle编译报input jar file is specified twice
    Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
    对于android拦截短信的一些疑问
  • 原文地址:https://www.cnblogs.com/lingluo2017/p/8457757.html
Copyright © 2011-2022 走看看