第一周


一头牛拉不动车的时候,我们用两头牛一起拉,而不是养一头更大的牛。——Hadoop

Hadoop:作为关系数据库管理系统的一种补充,它以批处理的方式对数据集进行分析,适合于需要分析整个数据集的问题。
背景:
  • 数据量巨大——需要大容量的数据库进行存储和处理。
  • 硬盘传输速率的增长慢于硬盘容量的增长——需要多个磁盘并行处理。
  • 硬盘寻址时间的增长慢于硬盘传输速率的增长——在数据库中加上更多磁盘来做大规模分析是不明智的。
与传统的关系数据库相比:
  • 可以处理的数据大小为PB级。vs GB
  • 更适合一次大量更新后多次读入。vs 多次读写,持续更新
  • 如果要进行扩展,复杂度的增长是线性的。vs 非线性
  • 集成度低,逻辑较不复杂。vs集成度高
MapReduce:一种线性可伸缩的、并行计算的编程模型。主要用于作业调度。
  • MapReduce是Hadoop的核心。关于它用来做什么和它怎么做到的,wiki的解释比较简略和概括,Apache的文档讲的很详细。

 ============================================================================================================

配置开发环境时用到的资料

*《Hadoop开发者入门专刊》

 

一些经验总结
  • JDK要安装在无空格和特殊字符的路径下。安装后要配置系统JAVA_HOME和PATH。在命令行下运行javac,要能找到这个命令。
  • Cygwin主目录下的配置文件/etc/profile也要进行配置,其中包括JAVA_HOME HADOOP_HOME 语言等。修改配置文件要用vim,用记事本会出奇怪的错误。配置文件中的路径要用Linux风格,非Cygwin根目录下的文件地址用这种形式:/cygdrive/c/java/jdk1.6.0_25 。
  • Cygwin用来在windows下使用Bash。在域内电脑上安装时要选择用IE代理设置连接网络(第二项),而不能直接连接,否则会无法从镜像下载文件。另外,Cygwin下的bin目录与user/bin目录也要添加到系统PATH。
  • 安装好sshd服务以后,要用域内的账户身份启动SYGWIN sshd服务,直接启动服务会不停提示输密码。具体设置方法是“计算机管理-服务-右键SYGWIN sshd服务-属性-登录选项卡-此账户-浏览-位置选dangdang.com-高级-立即查找-找到自己点确定-输入登录密码(就是开机密码)两遍-确定-启动服务”。如此,在用ssh连接localhost时输入登录密码,即可连接主机。如果登录密码设置得与开机密码不同,会提示登录失败无法启动服务。
  • 成功用登录密码连接主机以后,再用key-gen什么的配置公私密钥。以后不必再输密码,安全性高。
  • 启动Hadoop时遇到连接不上之类的问题,参见上边第三个链接。
  • 用Eclipse调试程序时,要导入hadoop/hadoop-x.x.x-core.jar以及hadoop/lib/目录下所有jar包。
  • 例程运行之前,先右键工程-run as-open run dialog-arguments选项卡,在program argument中配置程序的输入输出文件路径,用空格分开;在VM argument中配置虚拟机内存,如-Xmx256m。
posted @ 2012-07-25 14:34  喵小雨  阅读(177)  评论(0编辑  收藏  举报