Hadoop生态系统解析与实际运用
1.Hadoop是一个适合分布式海量数据存储和处理的大数据存储和计算引擎;
2.Hadoop核心包含三大部分:
a)HDFS:高效、可靠、低成本的分布式数据存储首选方案;
b)MapReduce:Hadoop的分布式计算模型,基于该模型产生了很多Hadoop适合于基本场景的计算框架,例如Hive、Mahout等,但还是由于其先天DNA的缺陷,导致在实现迭代类型的算法的时候显得力不从心,所以正在被逐渐和彻底的被新一代最火爆的大数据的计算框架Spark所取代;
c)Yarn:大数据集群资源管理器,用于管理同一个集群中不同大数据计算框架资源的使用;
3.hadoop的生态系统有Hive、ZooKeeper、HBase,Spark、Pig等
HDFS:海量分布式数据的存储;
MapReduce:海量数据的计算框架;
Spoon/HIHO:DB和HDFS之间相互导入导出数据工具;
Hive/Pig:在MapReduce的基础上构建更加方便使用Hadoop的子框架;
Ganglia:集群的监控和管理工具;
ZooKeeper:集群的同步工具,一般用来做HA;
HBase:OLTP存储和高速的实时查询系统;
4.Hive:hadoop的数据仓库,包含两部分:数据仓库本身以及基于数据仓库的查询计算引擎;把数据映射成为数据库的表并提供完整的SQL查询功能,实际上计算的时候是在背后把SQL语句转换为MapReduce任务运行,所以Hive的计算引擎只是一个单机版版本的客户端而已;
5.Pig使用SQL-Like的语言PigLatin来对Hadoop更加简易的操作和编程的接口;
7.HBase:是Hadoop的数据库,其本质是一个NoSQL类型的实时高速检索引擎;
8.ZooKeeper:一般用于做HA;
9.Sqoon:用于在Hadoop和关系型数据库之间的数据相互转移的工具;
hadoop的集群的构建
详细安装过程参见:大数据技术原理与应用 第二章 大数据处理架构Hadoop 学习指南
2.在不同机器上安装ssh通信,所以需要在所有的机器上安装和配置ssh;新型的集群通信方式基于docker;
3.分布式的hadoop集群:
4.基于官方网站文档要完成所有机器配置的完全同步;
5.完成同步 $ bin/hdfs namenode -format进行整个hadoop集群文件系统的格式化;
6.测试搭建的hadoop集群
hadoop jar ./hadoop-mapreduce-examples-3.1.1.jar wordcount /spark/input /spark/output3