Hadoop架构(2.0以后)
Tez:将Map任务和Reduce任务构造成有向无环图(DAG)进行计算。以防重复做,使得计算效率高。
Spark基于内存进行计算
MapReduce基于磁盘进行计算,所以Spark计算性能更好,不需要写磁盘。
Hive:数据仓库,支持SQL语句。Hive将SQL语句转换为一堆MapReduce作业去执行
Pig:基于Hadoop的一个大规模数据分析平台,流数据处理,提供类似SQL的查询语言Pig Latin。语言简单,而达到相同的目的,MapReduce则编程复杂。
Sqoop:数据导入导出,用于Hadoop与传统关系型数据库之间进行数据互导。例:可以从关系型数据库导到HDFS/Hbase/Hive
Hbase:基于列的非关系型数据库
**
关于HDFS
**
管家:NameNode:
(1)管理各种元数据并提供服务。
(2)NameNode里面很多元数据都是直接存储在内存中
热备的定义:一旦NameNode出问题,SencondaryNameNode马上顶上来。
冷备的问题HDFS2.0得到解决
**
关于MapReduce
**
协调者:JobTracker
**
各节点关系以及要求
**
一个节点可以既是TaskTracker又是DataNode
企业级节点要求:
DataNode/TaskTracker:4个磁盘驱动器(单盘1-2T)支持JBOD、2个4核CPU至少2-2.5GHZ、16-24GB内存、千兆以太网
NameNode:2个4核CPU或8核CPU、16-72GB内存,内存进行通道优化,万兆以太网
**
关于SSH
**
SSH是Sevure Shell的缩写,是建立在应用层和传输层基础上的安全协议,专为远程登录和其他网络服务提供安全性的协议。
SSH是由客户端和服务端的软件组成,服务端是一个守护进程,它由后台运行并响应来自客户端的连接请求,客户端包括ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
配置SSH无密码登陆的原因:
Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要SSH登录来实现。而Hadoop并没有提供SSH输入密码登录的形式,因此,需要配置SSH无密码登陆。
**
Hadoop集群基准测试
**
现在大多数企业并不在本地安装Hadoop集群,而是通过使用云服务使用Hadoop。