热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop学习笔记:Hadoop基础知识

阅读目录一、Hadoop简介二、Hadoop的特性三、hadoop组成与体系结构四、Hadoop安装方式五、Hadoop集群中的节点类型一、Hadoop简介Hadoop是Apac

阅读目录

      • 一、Hadoop简介
      • 二、Hadoop的特性
      • 三、hadoop组成与体系结构
      • 四、Hadoop安装方式
      • 五、Hadoop集群中的节点类型


一、Hadoop简介


  • Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构
  • Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中
  • Hadoop的核心是HDFS和MapReduce,HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算
  • Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力
  • 几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,都支持Hadoop

二、Hadoop的特性

Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性:

1、高可靠性:采用冗余数据存贮方式,即使一个副本发生故障,其他副本也可以保证对外工作的正常进行。

2、高效性:作为并行分布式计算平台,hadoop采用分布式存贮和分布式处理两大核心技术,能够高效的处理PB级别的数据

3、高可扩展性:hadoop的设计目标是可以高效稳定的运行在廉价的计算机集群上,可以扩展到数以千计的计算机节点上。

4、容错性:采用冗余数据存贮方式,自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

5、成本低:hadoop采用廉价的计算机集群,普通的用户也可以pc机搭建环境

6、运行在linux平台上:hadoop是基于java语言开发的,可以较好的运行在linux的平台上

7、支持多种编程语言:Hadoop 带有用 Java 语言编写的框架,因 此运行Linux 生产平台上是非常理想的,Hadoop 上的应用程序也可以使用其他语言编写。如:C++等

三、hadoop组成与体系结构


组件功能
HDFS分布式文件系统
MapReduce分布式并行编程模型
YARN资源管理和调度器
Tez运行在YARN之上的下一代Hadoop查询处理框架
HiveHadoop上的数据仓库
HBaseHadoop上的非关系型的分布式数据库
Pig一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言Pig Latin
Sqoop用于在Hadoop与传统数据库之间进行数据传递
OozieHadoop上的工作流管理系统
Zookeeper提供分布式协调一致性服务
Storm流计算框架
Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统
AmbariHadoop快速部署工具,支持Apache Hadoop集群的供应、管理和监控
Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据
Spark类似于Hadoop MapReduce的通用并行框架

四、Hadoop安装方式


  • 单机模式:Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试

  • 伪分布式模式:Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是HDFS 中的文件

  • 分布式模式:使用多个节点构成集群环境来运行Hadoop

1、Hadoop基本安装配置主要包括以下几个步骤:
(1)创建Hadoop用户
(2)SSH登录权限设置
(3) 安装Java环境
(4) 单机安装配置
(5)伪分布式

一个安装伪分布式集群的博客:Centos7 + Hadoop3 搭建伪分布式集群

2、伪分布式安装配置

实验步骤:

  • 修改配置文件:core-site.xml,hdfs-site.xml,mapred-site.xml
  • 初始化文件系统hadoop namenode -format
  • 启动所有进程start-all.sh
  • 访问web界面,查看Hadoop信息
  • 运行实例
  • 关闭所有进程stop-all.sh

五、Hadoop集群中的节点类型


Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计算的MapReduce
MapReduce的作业主要包括:(1)从磁盘或从网络读取数据,即IO密集工作;(2)计算数据,即CPU密集工作
Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡。因此运营团队在选择机器配置时要针对不同的工作节点选择合适硬件类型
一个基本的Hadoop集群中的节点主要有

  • NameNode:负责协调集群中的数据存储
  • DataNode:存储被拆分的数据块
  • JobTracker:协调数据计算任务
  • TaskTracker:负责执行由JobTracker指派的任务
  • SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • 前言本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出, ... [详细]
  • 马蜂窝数据总监分享:从数仓到数据中台,大数据演进技术选型最优解
    大家好,今天分享的议题主要包括几大内容:带大家回顾一下大数据在国内的发展,从传统数仓到当前数据中台的演进过程;我个人认为数 ... [详细]
  • hive的本质是hadoop客户端通过写sql转换成MapReduce提交给yarn、hdfs执行hive的优点操作接口采用类sql语法提供快速开发能力避免了去写MapReduce ... [详细]
  • 不会搭建大数据平台,我被老板优化了...
    不会,搭建,大数,据,平台,我 ... [详细]
  • 数据仓库中基本概念
    一、数据仓库数据仓库(DataWarehouse)是一个面向主题的、集成的、稳定的且随时间变化的数据集合,用于支持管理人员的决策面向主题主题就是类型的意思。传统数 ... [详细]
  • ftp和文件服务器,ftp和文件服务器的区别
    ftp和文件服务器的区别内容精选换一换obsftp工具于2021年2月9日正式下线,下线后OBS不再对此工具提供维护和客户支持服务,给您带来不便敬请谅解 ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 本文_大数据之非常详细Sqoop安装和基本操作
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据之非常详细Sqoop安装和基本操作相关的知识,希望对你有一定的参考价值。大数据大数据之 ... [详细]
  • Hbase1.2.0cdh5.16.2使用PREFIX_TREE编码导致集群压缩队列异常
    Hbase1.X版本中PREFIX_TREE作为BlockEncoding存在bug,会造成RegionServer节点compactionqueue持续升高,甚至影响fl ... [详细]
  • HBase干货 | 如何优雅的通过Key与Value分离降低写放大难题?
    本文将为大家介绍为什么这样能够有效的降低写放大,然后聊聊几个keyvalue分离系统的结构,包括两篇影响比较广泛的学术论文,以及HBase在keyvalue ... [详细]
  • hbase伪集群搭建
    hbase数据存储有三种跑法,跑在本地磁盘上、跑在伪分布式上、跑在完全分布式上--------额。。。官网的文档挺坑爹的,结合官网、百度、谷歌的各种 ... [详细]
  • Shell 编程中的常用工具
    文件查找find命令语法格式find命令总结:常用选项:-name查找etc目录下以conf结尾的文件findetc-name*.conf-inam ... [详细]
  • Hive的使用2
    Hive常识Hive中没有定义专门的数据格式不需要从用户数据格式到Hive定义的数据格式的转换不会对数据本身进行任何修改,甚至不会对数据进行扫描不会对数据中的 ... [详细]
author-avatar
你妈咪叫你吃饭呢
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有