hadoop(一):认识
来源:互联网 发布:python安装环境 编辑:程序博客网 时间:2024/04/25 17:25
认识hadoop,从现在开始!
首先,就不过多的说集群的事情了,因为已经有很多人说了。说点一般人不会单独拿出来正经八百说的吧。
第一,hadoop是干啥的?
这个先要弄清楚,否则学了半天就知道是热门,但不知道是否适合自己用。hadoop是一套分布式计算和分布式存储系统。也就是说,hadoop是分布式的,需要很多台服务器(一般电脑业可以)联成局域网,然后才可以发挥真正的作用。hadoop不是一个数据库,也不是一个替代SQL的芸芸...hadoop是为了处理大量的数据而诞生的,是受到了google分布式系统的启发,也可以说是大数据的代表。
第二,hadoop是谁在用?
BAT大家都知道吧,百度,阿里,腾讯,当然还有一些其他的电商和互联网公司都在使用hadoop或其变种作为其底层的数据计算域与存储的系统。所以,你想想,BAT这样的公司每天得产生多少数据呀,他们要是用常规的数据库那会是神马景象呀。所以,他们的系统都是分布式的。以前总看新闻上说,google、apple芸芸的大公司的数据中心有多么多么庞大,当时就想,那么多电脑都是用来干啥的?放硬盘吗?(捂脸),后来才知道,人家是分布式集群,是为了对海量数据进行处理和存储用的,那些电脑都是集群的节点。
第三,hadoop怎么用?
这个问题就比较芸芸了....其实你想怎么用就怎么用。只是,如果你只是一个普通的网站,访问量也不是很大,存储量也不是很大,比如一个学籍管理系统....那你就别问怎么用了,根本用不上。但如果你需要存储或处理海量数据,TB级别的,比如一个电子商务系统,或者是天下人都知道的“12306”系统,就需要hadoop来处理了。因为那里的数据太多了,访问量太大了。当然,也会有其他的系统可以代替hadoop系统来进行处理与存储,但这就看需求了和成本了。
hadoop是一套完整的分布式系统,他所运行的底层平台式Linux+Java。没错,hadoop是Java+C编写的,对于底层数据存储是纯C写的,因为C的效率高,速度快,上层的一些调度和管理进程是Java写的。所以,如果要用hadoop至少要会Linux的基本配置和Java的基础编程。其他的就是一些常识了。当然,有很多的开源项目为了简化hadoop开发,他们设计了许多支持其他高级语言的编程接口。所以,你也可以通过Php、Ruby、C#等对hadoop进行操作。hadoop周边的开源项目就不一一介绍了,网上很多人都说过了。hadoop是完全开源的,所以可以下载到她的源代码,也可以进行分析与学习。
你可以用hadoop做一个邮件系统、IM系统、门户系统,也可以做一个CRM系统、ERP系统、财务系统等等,当然如果你愿意也可以做一个网盘或视频分享系统。你说我做个论坛行不?——行,没问题。
有人把hadoop比作牛刀,论坛比作鸡。杀鸡何用牛刀呢!?其实杀鸡可以用牛刀,用原子弹也行,只要能把鸡杀了,因为这是你的目标。之前碰到过一个教育网站,在报名的当天网站宕机,看了错误码,php没响应,估计是mysql的查询被阻塞了。当时就想,如果用hadoop....算了。
所以,知道了吧。不知道就不知道吧,后面会慢慢知道的。
第四,hadoop成本高吗?
hadoop的主导思想是使用廉价硬件达到最好的效果。所谓廉价硬件就是指普通的服务器,并非小型机芸芸....所以从赢家成本上来讲并不高。一个50节点左右的集群基本可以负担几百人的企业信息化。而且,hadoop本身也是免费的,加上Linux也是免费的,所以从硬件和软件成本上来讲,几乎是很少。比起ORACLE、MS SQLSERVER等要便宜多了。但一定要注意,hadoop的成本也并不低。为啥呢?因为hadoop作为一套开源的分布式系统,其本身的技术支持是很少的,也就是说,在运维过程中所产生的问题是多种多样的,而且这些问题千奇百怪,每个人所碰到的都有可能不一样,所以其运维的成本还是有的。需要一些比较专业的Linux运维人员(Linux的比Windows的人员成本高)和一些有一定编程基础的运维人员来承担运维的工作。
第五,hadoop小结。
说了很多芸芸....用一句话总结下吧。就是:hadoop是使用基于Linux廉价硬件的免费的分布式计算与存储系统,但运维成本比较高。
- hadoop(一):认识
- Hadoop之HDFS初步认识(一)
- (一)、认识 hadoop
- hadoop日志分析系统一 Hadoop的认识
- 认识Hadoop
- 认识hadoop
- 认识Hadoop
- Hadoop认识
- 认识Hadoop
- 自己动手写搜索引擎(常搜吧历程一#认识Lucene#)(Java、Lucene、hadoop)
- 认识硬盘(一)
- 软件工程(一)认识
- UML(一)认识
- 认识BootStrap(一)
- 认识Uboot(一)
- 认识Java(一)
- RAID认识(一)
- 认识docker(一)
- 程序员更需要做知识管理
- vector的使用(C++primer)。。。2014.5.5
- Android AsyncTask完全解析,带你从源码的角度彻底理解
- SVN 提交出错 '***'out-of-date
- 第七周作业
- hadoop(一):认识
- 由dwr不支持重载的方法探究dwr的运行机制
- Shell 学习笔记一(基本语法)
- Module模式的高级用法
- Virgo与Maven整合开发环境搭建(一)
- ios监听用户是否触摸了屏幕的一种实现
- Tomcat配置连接回收、超时
- python利用thrift连接hive
- linux 查看硬盘/内存/cpu信息