大数据部门组织结构

Hadoop的优势(4高)

  1. 高可靠性:Hadoop底层维护多个数据副本
  2. 高扩展性:在集群间分配任务数据,可方便的扩展
  3. 高效性:在MapReduce的思想下,Hadoop时并行工作的,从而加快任务处理速度
  4. 高容错性:能够自动将失败的任务重新分配

Hadoop组成(重点)

  • hadoop1.x

    mapreduce(计算+资料调度) HDFS(数据存储) Common(辅助工具)

  • hadoop2.x

    mapreduce(计算) HDFS(数据存储) Common(辅助工具) yarn(资料调度

HDFS架构

  • NameNode(主管)

    存储文件的元数据 (文件名,文件目录结构,文件属性(生成时间,副本数,文件权限))以及每个文件的块列表和块所在的DataNode

    1. 管理HDFS的名称空间
    2. 配置副本策略
    3. 管理数据块(Block)映射信息
    4. 处理客户端读写请求
  • Secondary NameNode(主管秘书)

    每隔一段时间对NameNode元数据备份

    !!->并非NameNode的热备 无法在NameNode无法工作时代替NameNode工作

    1. 辅助NameNode,分担其工作量(如:定期合并Fsimage和Edits,并推送给NameNode)
    2. 在紧急情况下,可辅助恢复NameNode
  • DataNode(员工)

    在本地文件系统存储文件块数据,以及块数据的校验和

    1. 存储实际的数据块
    2. 执行数据块的读/写操作
  • Client (客户端)

    1. 文件切分
    2. 与NameNode交互,获取文件的位置信息
    3. 与DataNode交互,读取或写入数据
    4. 执行一些命令来管理HDFS(如:NameNode的格式化)
    5. 执行一些命令来访问HDFS(如:HDFS的增删改查)

YARN架构

  • ResourceManager(RM)

    1. 处理客户端请求
    2. 监控NodeManager
    3. 启动或监控ApplicationMaster
    4. 资源的分配与调度
  • NodeManager(NM)

    1. 管理单个节点上的资源
    2. 处理来自ResourceManager的命令
    3. 处理来自ApplicationMaster的命令
  • ApplicationMaster

    1. 负责数据的切分
    2. 为应用程序申请资源并分配给内部的任务
    3. 任务的监控与容错
  • Container

    Container是YARN中的资源抽象,封装了某个节点上的多维度资源,(内存,cpu,磁盘,网络)

大数据技术生态体系

Hadoop环境搭建的常用命令

  • 修改主机名称

    vim /etc/hostname

  • 配置linux克隆机主机名称映射hosts

    vim /etc/hosts

  • 解压JDK到/opt/module目录下

    tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

  • 配置JDK环境变量

  • 新建/etc/profile.d/my_env.sh文件

    sudo vim /etc/profile.d/my_env.sh

    添加如下内容

    #JAVA_HOME
    
    export JAVA_HOME=/opt/module/jdk1.8.0_212
    
    export PATH=$PATH:$JAVA_HOME/bin
  • 环境变量PATH生效

    source /etc/profile

  • 生成公钥和私钥

    ssh-keygen -t rsa

  • Hadoop执行MapReduce程序

    hadoop jar wc.jar com.atguigu.wordcount.WordcountDriver /user/atguigu/input /user/atguigu/output

haodoop概念总结的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    一.前言     DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...

  2. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  3. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  4. 声音分贝的概念,dBSPL.dBm,dBu,dBV,dBFS

    需要做个音频的PPM表,看着一堆的音频术语真是懵了,苦苦在网上扒了几天的文档,终于有了点收获,下面关于声音的分贝做个总结. 分贝 Decibel 分贝(dB)是一个对数单位(logarithmic u ...

  5. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  6. 【Linux大系】Linux的概念与体系

    感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei 我在这一系列文章中阐述Linux的基 本概念.Linux操作系统继承自UNIX.一个操作系统是一套控制和使用计算 ...

  7. KOTLIN开发语言文档(官方文档) -- 2.基本概念

    网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2.   基本概念 2.1.  基本类型 从可以在任何变量处理调用成员函数和属性 ...

  8. .NET面试题系列[5] - 垃圾回收:概念与策略

    面试出现频率:经常出现,但通常不会问的十分深入.通常来说,看完我这篇文章就足够应付面试了.面试时主要考察垃圾回收的基本概念,标记-压缩算法,以及对于微软的垃圾回收模板的理解.知道什么时候需要继承IDi ...

  9. 《徐徐道来话Java》(1):泛型的基本概念

    泛型是一种编程范式(Programming Paradigm),是为了效率和重用性产生的.由Alexander Stepanov(C++标准库主要设计师)和David Musser(伦斯勒理工学院CS ...

随机推荐

  1. Tapdata 在线研讨会:如何快速上手 Tapdata Cloud?

    偶然接触到 Tapdata Cloud,据说不仅可以实现异构数据实时同步,还永久 100% 免费,但就是不知道怎么获取.怎么用? 打开相关文档逐渐陷入迷茫,术语."黑话"随处可见, ...

  2. JTable和MVC设计模式

    JTable: 用JTable类可以以表格的形式显示和编辑数据 . JTable类的对象并不存储数据,它只是数据的表现 data MVC ~数据,表现和控制三者分离,各负其责 ~M=Model(模型) ...

  3. Effective C++阅读笔记 较详细 复杂条款带样例

    一.让自己习惯C++ 条款01:视C++为一个语言联邦 C++可视为: C:以C为基础. 面向对象的C++:添加面向对象特性. 模板C++:泛型编程概念,使用模板. STL:使用STL的容器.迭代器. ...

  4. 4-3 Spring MVC框架-02

    Spring MVC框架-02 Ⅰ.RESTful基础 是一种设计风格和开发方式 1.get和post请求区别: get post 获取请求 上传请求 请求参数在地址栏URL 请求参数在请求体里面 U ...

  5. kubernetes 静态存储与动态存储

    静态存储   Kubernetes 同样将操作系统和 Docker 的 Volume 概念延续了下来,并且对其进一步细化.Kubernetes 将 Volume 分为持久化的 PersistentVo ...

  6. 算法竞赛进阶指南 0x50 总论

    目录 AcWing895. 最长上升子序列 方法一 方法二 当询问最长子序列是哪些的时候 896. 最长上升子序列 II 思路 O(NlogN)做法:贪心+二分 代码 AcWing\897. 最长公共 ...

  7. 判断语句的嵌套和switch判断

    Scanner scanner = new Scanner(System.in);int i = scanner.nextInt();int i2 = scanner.nextInt();if (i& ...

  8. 程序思想中的冒泡法在python和1200PLC中scl高级编程中的应用

    冒泡排序:是计算机科学领域里面的一种算法. header 这个算法名字的由来是因为在执行算法的时候越小的元素会经由交换慢慢"浮"到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧 ...

  9. typora的第一天

    一级标题 二级标题 三级标题 ..... 表格 java spring mybatis 代码 java代码 public void Hello(){ } 字体 hello word! hello wo ...

  10. 针对多个球体的World类

    World类其他都一样的,就修改build函数就行了,以后测试所有代码,都是基于两个或多个球体的,不再重复阐述. void World::build() { vp.set_hres(200); vp. ...