Hadoop基础
互联网的变化结果:
火车 =》汽车 超级计算机 =》个人计算机 公司应用 =》大众应用
云计算:一种基于互联网的超级计算模式,几万cpu甚至几十万cpu连接成一片;
是并行计算、分布式计算以及网络计算的发展;
Hadoop最核心的设计就是:HDFS(提供存储)和MapReduce(提供计算);
MapReduce算法将查询操作和数据集都分解为组件,即映射,查询时,被映射的组件可以被同时处理(即简化),从而映射的返回结果;
map(映射) reduce(化简)
HDFS:
1.hadoop:common公共部分包括文件系统,远程过程调用rpc和序列化函数等;
2.hdfs:提高高吞吐量的可靠分布式文件系统,是GFS的开源实现;
3.MapReduce:为大型分布式数据处理模型,一种编程模型,用于大规模数据规约,集(大于1Tb)的并行计算;
4.HBASE:分布式数据库是bigtable的开源实现;
5.hive:提供数据摘要和查询功能的数据仓库;
6.pig:是mapReduce上构建的一种高级数据流语言,可简化MapReduce任务的开发;
7.Cassandra:高可扩展分布式数据库;
8.chukwa:数据采集系统;
9.zookeeper:用于解决分布式系统中一致性问题,是chubby的开源实现;
扩展:
haddoop包含:
一个nameNode
一个DateNode
分布式节点之间有关联时,要考虑之间的通行,节点多,要有监控和管理来支撑;
storm:一个分布式容错的实时计算系统(流计算)
kafka:流处理平台,由Scala和java编写;高吞吐量的分布式订阅消息系统;性能是hadoop性能的几十倍【计算速度】;
聚类分析的对象是变量,关联分析用于描述多个变量之间的关联;
Lucene:开源的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个检索引擎的架构,是一套用于全文检索和搜寻的开源程式库;
分布式解决的问题:
1.客户端如何进行访问;
2.服务与服务之间如何通信;
3.这么多服务,他们是这么实现的;
4.服务挂了,如何处理;
关键技术研究:
虚拟化技术
数据存储技术
资源管理技术
能耗管理技术
云检测技术
基础知识兴趣:
&a[0][1] <==> a[0] + 1 或者 *(a+0) + 1
&a[1][2] <==> a[1] + 2 或者 *(a+1) + 2
小思考:
新框架会越来越多,将会越来越简单,越来越安全、好用;技术永远在过时的路上
软件最终走向的道路:简单、高效、成本低、功能强大;
毫无目标的追求会使有限的积累能力稀释,从而使知识和技能的提升变得低效,甚至走上错误的道路;
加油 programmer