Hadoop是一个分布式框架,底层的rpc也是用的netty。Spark2.0以后也用netty做rpc。
推荐Scala的书:《快学Scala》、《Scala编程指南》
什么是Hadoop
- Hadoop是一套开源的平台
- 中间件
- Hadoop是服务器集群,在集群上执行我们的代码
- 广义上来说,Hadoop是指一个更广泛的概念——Hadoop生态圈
Hadoop的核心组件
HDFS
分布式文件系统。有效利用各节点的存储空间,冗余备份。
YARN
运算资源调度系统。不同用户的不同业务程序运行的调度,调配硬件资源。尽可能服务更多的程序。各节点分为resource manager和node manager角色。YARN也是个集群
Map-Reduce
分布式运算编程框架。task程序需要符合Map-Reduce编程要求的模板代码。分为Map阶段和Reduce阶段。同时还需要一个Driver负责程序的运行启动。
Hadoop生态圈各组件简介
Hive
把数据组织成表的形式,然后大部分的Map-Reduce任务都可以用SQL语句来实现了。Hive可以将HDFS上的数据组织成表的形式,并把SQL语句转换成Map-Reduce Task进行执行,最后给出结果。大大降低了使用Hadoop进行数据分析的门槛。
HBase
这个稍后补充
ZooKeeper
协调各节点之间的状态
Mahout
机器学习和数据挖掘。大大加快了机器学习和数据挖掘的速度。
让很多高大上的技术走向千家万户
Flume
数据采集。把各种服务器上的日志实时的拷贝到Hadoop集群中。
Sqoop
负责RDBMS和HDFS之间的数据导入导出。
Hadoop的应用
- 应用于数据服务基础平台建设
- 用户画像
- 网站点击流日志数据挖掘