• hadoop安装


    hadoop2.0介绍

      hadoop2.0 功能:

    HDFS:hadoop的分布式文件系统

        运行架构:主从架构

        主:namenode 一个                    ---->管理       

          为解决单点故障添加助理        

          助理:secondarynamenode ---->帮助namenode备份数据 但是接替不了namenode的工作
        从:datanode   多个

          存储数据的 —>干活的

    MAPREDUCE:应用程序 什么时候执行 什么时候启动(代码 数据 资源)

    YARN:资源调度的为每一个应用程序 进行资源的分配

    主从结构

      主:resourcemanager  ---->资源分配的老大 负责资源的分配

      从:nodemanager

      服从resourcemanager的安排 为应用程序提供资源


    代码的结构上分:
      hdfs: 分布式文件系统的 NTFS
      MAPREDUCE 分布式计算的代码 QQ 微信
      YARN 资源调度的 操作系统
      common :工具包 通信的协议


    搭建一个hadoop集群 启动的时候:
    5个:
    namenode
    datanode
    secondarynamenode
    resourcemanager
    nodemanager
    安装:
    版本:
    3.1 最新版本
    2.7
    2.8
    2.7.6
    不选最新版本 也不选老版本 中间的一个稳定版本

    1.伪分布式安装

    1.安装准备
    1)ip
    2)主机名
    3)映射
    4)关闭防火墙和sellinux
    vi /etc/sysconfig/selinux
    SELINUX=disabled
    linux的安全认证 高级运维人员会用到
    5)为普通用户添加 sudoers
    vi /etc/sudoers
    hadoop ALL=(ALL) ALL
    6) 切换到普通用户
    7)做免密码登录
    这里和用户有关的
    ssh-keygen
    ssh-copy-id model
    测试:
    ssh model
    8)安装jdk

    sudo rpm -e java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 --nodeps
    sudo rpm -e java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64 --nodeps

    source /etc/profile
    9)修改系统的启动级别 3
    sudo vi /etc/inittab
    注意:所有的安装过程 在你的普通用户下
    安装hadoop
    1)上传
    2)解压
    tar -xvzf hadoop-2.7.6.tar.gz
    目录介绍:
    bin/sbin 脚本命令文件
    etc 配置文件
    lib 依赖包
    share 共享的文档集依赖包
    3)修改配置文件
    etc/hadoop/
    1)hadoop-env.sh
    将java的环境变量添加上
    export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73
    2)hdfs-site.xml hdfs的相关配置信息
    hdfs的副本的个数
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    3)core-site.xml 公共的配置
    hdfs的访问的url mysql连接的url mysql:jdbc://
    hdfs(协议)://主机名:端口(内部通信端口)
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://model:9000</value>
    </property>
    4)mapred-site.xml mapreduce的相关配置
    cp mapred-site.xml.template mapred-site.xml
    mapreduce任务进行资源调度的框架
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    5)yarn-site.xml
    资源调度的 计算任务的类型
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    6)slaves 从节点的信息
    一行一个主机名 不要有多余的空格 也不要有多余的换行符
    model
    4)配置hadoop的环境变量
    export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73
    export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile
    验证
    hadoop version
    5)格式化hdfs的文件系统
    hadoop namenode -format
    18/09/27 15:41:40 INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
    ps:格式化不成功 一致格式化 直到成功 一旦成功 不能重复执行
    6)启动
    先启动hdfs
    start-dfs.sh
    启动yarn
    start-yarn.sh
    验证:
    hdfs:
    http://namenode:50070
    http://model:50070

    http://resourcemanager:8088
    http://model:8088

    2.分布式安装

    集群安装在多个节点上的
    1)多个节点的要求:
    多个节点的用户名(安装的时候使用的用户/普通用户)一定要统一
    多个节点的安装目录统一
    集群规划:集群中的各个节点安装的组件有哪些


            HDFS                  yarn                     
         namenode   datanode       secondarynamenode    rm    nm
    hadoop01  namenode                resourcemanager
    hadoop02         datanode       secondarynamenode nodemanager
    hadoop03         datanode                   nodemanager
    hadoop04      datanode                 nodemanager
    搭建
    准备:
    1)ip

    2)主机名

    3)映射

    4)关闭防火墙和sellinux

    vi /etc/sysconfig/selinux
    SELINUX=disabled
    linux的安全认证 高级运维人员会用到

    5)为普通用户添加 sudoers
    vi /etc/sudoers
    hadoop ALL=(ALL) ALL

    6) 切换到普通用户

    7)做免密码登录
    一定切换到普通用户
    ~/.ssh
    这里和用户有关的
    4台机器之间 相互都需要做 免密码登录
    ssh-keygen
    ssh-copy-id hadoop01
    ssh-copy-id hadoop02
    ssh-copy-id hadoop03
    ssh-copy-id hadoop04

    测试:
    ssh hadoop01
    ssh hadoop02
    ssh hadoop03
    ssh hadoop04


    source /etc/profile

    8)修改系统的启动级别 3
    sudo vi /etc/inittab

    hadoop的安装:
    先装在一个节点上 在进行远程发送
    mkdir /home/hadoop/apps
    1)安装jdk

    sudo rpm -e java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 --nodeps
    sudo rpm -e java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64 --nodeps

    source /etc/profile
    java -version
    2)上传安装包
    3)解压hadoop的安装包
    tar -xvzf hadoop-2.7.6.tar.gz
    4)配置hadoop的环境变量
    sudo vi /etc/profile
    export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73
    export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    source /etc/profile
    验证
    hadoop version
    5)修改hadoop的配置文件 6个
    $HADOOP_HOME/etc/hadoop/
    1)hadoop-env.sh
    export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73
    2)core-site.xml 公共的配置文件
    hdfs的访问url hdfs://namenode的主机名:9000
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop01:9000</value>
    </property>
    hdfs的文件的存储路径 包括namenode的信息存储目录 datanode的信息存储目录 没有配置 /tmp存储 会造成核心数据的丢失 这个生产环境中一定要配置的
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/data/hadoopdata</value>
    </property>
    3)hdfs-site.xml
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/data/hadoopdata/name</value>
    <description>namenode的数据的存储目录</description>
    </property>

    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/data/hadoopdata/data</value>
    <description>datanode 的数据存储目录</description>
    </property>

    <property>
    <name>dfs.replication</name>
    <value>2</value>
    <description>HDFS 的数据块的副本存储个数</description>
    </property>
    <property>
    <name>dfs.secondary.http.address</name>
    <value>hadoop02:50090</value>
    <description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>
    </property>
    4)mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    5)yarn-site.xml
    配置的是yarn的主节点的 主机名
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop01</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
    </property>
    6)vi slaves
    从节点信息 一行一个 不要有空格 和换行 datanode nodemanager
    hadoop02
    hadoop03
    hadoop04
    6)远程发送到其他节点
    jdk
    scp -r jdk1.8.0_73 hadoop02:/home/hadoop/apps/
    scp -r jdk1.8.0_73 hadoop03:/home/hadoop/apps/
    scp -r jdk1.8.0_73 hadoop04:/home/hadoop/apps/


    hadoop:
    scp -r hadoop-2.7.6 hadoop02:/home/hadoop/apps/
    scp -r hadoop-2.7.6 hadoop03:/home/hadoop/apps/
    scp -r hadoop-2.7.6 hadoop04:/home/hadoop/apps/

    /etc/profile
    sudo scp /etc/profile hadoop02:/etc/
    sudo scp /etc/profile hadoop03:/etc/
    sudo scp /etc/profile hadoop04:/etc/

    4个节点都执行 source /etc/profile

    验证:
    jdk
    java -version
    hadoop
    hadoop version
    7)进行格式化 格式化的是hdfs
    在namenode所在的节点 ---hadoop01
    hadoop namenode -format
    /home/hadoop/data/hadoopdata/name has been successfully formatted.

    成功的格式化只能进行一次
    8)启动
    先启动hdfs:
    任意一个节点启动 start-dfs.sh
    jps
    hadoop01: namenode
    hadoop02: secondarynamenode datanode
    hadoop03:datanode
    hadoop04:datanode
    启动yarn:
    start-yarn.sh 最好在yarn的主节点执行 hadoop01

    验证:
    hdfs的网页:
    主节点主机名或ip:50070
    hadoop01:50070
    yarn的网页:
    yarn主节点的主机名或ip:8088

    集群的关闭和重启的问题
    集群关闭:
    关闭hdfs:
    stop-dfs.sh 任意节点执行
    关闭yarn:
    stop-yarn.sh 在yarn的主节点执行
    集群重启:
    不需要格式化
    先启动hdfs
    再启动yarn

  • 相关阅读:
    第十次作业
    第九次作业总结
    第九次作业
    第八次作业总结
    第七次作业总结
    第六次总结
    第十二次作业总结
    第十一次作业总结
    第十次作业总结
    第九次作业总结
  • 原文地址:https://www.cnblogs.com/fax1996/p/9717458.html
Copyright © 2020-2023  润新知