大数据总结【第二章:Hadoop】

简答题

hadoop简介

  1. Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构
  2. Hadoop是基于Java语言开发的,具备很好的跨平台特性,而且能够部署在廉价的计算机集群中
  3. Hadoop的核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce
  4. Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力
  5. 几乎全部主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,都支持Hadoop
  6. 看远分布式平台基于java开发的,核心HDFS,mapr

hadoop的特性

  1. 高可靠性:采用冗余数据存储方式,即便一个副本发生故障,其余副本也能够保证正常对外提供服务;
  2. 高效性:做为并行分布式计算平台,Hadoop采用分布式存储和分布式处理两大核心技术,可以高效地处理PB级数据;
  3. 高可扩展性:Hadoop的设计目标是能够高效稳定的运行在廉价的计算机集群上,能够扩展到数以千计的计算机节点上;
  4. 高容错性:采用冗余数据存储方式,自动保存数据的多个副本,而且可以自动将失败的任务进行从新分配;
  5. 低成本:Hadoop采用廉价的计算机集群,成本比较低,普通用户也能够很容易用本身的PC搭建Hadoop的运行环境;
  6. 运行在Linux平台上:Hadoop是基于Java语言开发的,能够很好地运行在Linux平台上;
  7. 支持多种编程语言。

Hadoop的项目结构以及每一个部分的具体功能

在这里插入图片描述

  1. Common是为Hadoop其余子项目提供支持的经常使用工具,主要包括文件系统、RPC 和串行化库java

  2. Avro是为Hadoop的子项目,用于数据序列化的系统,提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持续性数据的文件集、远程调用的功能和简单的动态语言集成功能。node

  3. HDFS是Hadoop项目的两个核心之一,它是针对谷歌文件系统的开源实现。python

  4. HBase是一个提升可靠性、高性能、可伸缩、实时读写、分布式的列式数据库,通常采用HDFS做为其底层数据存储。web

  5. MapReduce是针对谷歌MapReduce的开源实现,用于大规模数据集的并行运算。数据库

  6. Zoookepper是针对谷歌Chubby的一个开源实现,是高效和可靠的协同工做系统,提供分布式锁之类的基本服务,用于构建分布式应用,减轻分布式应用程序所承担的协调任务。编程

  7. Hive是一个基于Hadoop的数据仓库工具,能够用于对Hadoop文件中的数据集进行数据整理、特殊查询和分布存储。数据结构

  8. Pig是一种数据流语言和运行环境,适合于使用Hadoop和MapReducce平台上查询大型半结构化数据集。架构

  9. Sqoop能够改进数据的互操做性,主要用来配合关系数据库之间交换数据。app

  10. Chukwa是一个开源的、用于监控大型分布式系统的数据收集系统,能够将各类类型的数据收集成适合Hadoop处理的文件,并保存在HDFS中供Hadoop进行各类 MapReduce操做。框架

在这里插入图片描述

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

hadoop简单的命令使用

开启、关闭Hadoop

  1. 打开终端模拟器,切换到/apps/hadoop/sbin目录下,启动Hadoop
cd /apps/hadoop/sbin  	
	./start-all.sh

在这里插入图片描述
2. . 执行jps,检查一下Hadoop相关进程是否启动

在这里插入图片描述
3. 切换到/apps/hadoop/sbin目录下,关闭Hadoop

cd /apps/hadoop/sbin  
./stop-all.sh

在这里插入图片描述

启动Hadoop系统,当使用bin/start-all.sh命令启动时,请给出集群各进程启动顺序

启动顺序:namenode –> datanode -> secondarynamenode -> resourcemanager -> nodemanager

填空

一、Hadoop有______,______,______,______,______,运行在Linux平台上,支持多种编程语言的特性
【解析:高可靠性 高效性 高可扩展性 高容错性 成本低】
二、Hadoop是一个开源的、可运行于大规模集群上的________式计算平台,实现了___________计算模式和分布式文件系统__________等功能。
【解析:分布,MapReduce, HDFS】
三、Hadoop的两大核心组件:HDFS,MapReduce。
四、Hadoop集群能够运行在(单机模式),(伪分布模式)和(彻底分布模式)3个模式。
五、hadoop fs -ls 的含义:
答:显示指定的文件的详细信息
六、hadoop fs -put 的含义是:
答:从本地文件系统中复制指定的单个或多个源文件到指定的目标文件系统中。也支持从标准输入(stdin)中读取输入写入目标文件系统。
七、Hadoop启动和关闭的命令是(start-dfs.sh)和(stop-dfs.sh)。

判断

一、Hadoop 支持数据的随机读写。(hbase支持,hadoop不支持) ( 错 )
二、Hadoop的核心是HDFS和MapReduce。(对)

选择题

一、启动hadoop全部进程的命令是(A)
A.start-all.sh B.start-hadoop.sh C.start-hdfs.sh D.start-dfs.sh

二、如下对Hadoop的说法错误的是(C)
A.Hadoop的核心是HDFS和MapReduce
B.Hadoop2.0增长了NameNode HA和Wire-compatibility两个重大特性
C.Hadoop是基于Java语言开发的,只支持Java语言编程
D.Hadoop MapReduce是针对谷歌MapReduce的开源实现,一般用于大规模数据集的并行计算

三、如下哪一个不是hadoop的特性(B)
A.支持多种编程语言 B.成本高 C.高容错性 D.高可靠性

四、如下名词解释不正确的是(D) A.Hive:一个基于Hadoop的数据仓库工具,用于对Hadoop文件中的数据集进行数据整理、特殊查询和分析存储 B.HDFS:分布式文件系统,是Hadoop项目的两大核心之一,是谷歌GFS的开源实现 C.Zookeeper:针对谷歌Chubby的一个开源实现,是高效可靠的协同工做系统 D.HBase:提供高可靠性、高性能、分布式的行式数据库,是谷歌BigTable的开源实现