三天100元从零开始搭建Hadoop集群

    阿法狗把李昌镐都干掉了,不管是图形图片处理集群还是文字文本处理集群都将成为IT公司新一代的基础设施。公司准备先建立文字文本处理集群,即选择阿里E-MapReduce产品,快速搭建文本大数据处理系统,谋划公司新一代大数据处理架构,但是,初级阶段,不想为Hadoop的底层维护花费时间,集群维护一个工程师少说也要5K以上吧(四级城市),还有硬件和电费等等,公司决定先跑一个样本集群,再做下步谋划,以上也是很多公司对集群的态度吧。

   创业阶段钱是精打细算了,阿里集群可以按时付费,最低每小时3.88元,就当每小时3.88元的学习费用吧,因此,学习速度要快呀,集群一开,每小时3.88元的学费不断花费哦。今天就和同学分享,我是如何用三天,一百元以内的学费,高效率地搭建集群,且让简单的英文,中文分词程序在自己的控制下在集群中跑起来的。

    1.钱袋子准备好:阿里需要你账号资金100元以上,不然,就不让你学习了。

    2.理解阿里E-MapReduce体系

    1)整个阿里云我们常见到的是ECS,就是在庞大的硬件设施上,根据用户需要虚拟出来的一台台计算机,他们是建立在实体CPU,硬盘,内存等之上的,可以随时释放,也可以临时组合。

    2)集群就是跑在这些ECS之上,因此,同学想租几台ECS自己搭建Hadoop估计也是没有问题,显然,我是没有这个兴趣,阿里的同学也是把在ECS上搭建集群的过程自动化了。

    3)当然,若是仅仅依靠ECS集群,有个问题,即运行的记录和数据都放在集群上,随着集群的释放,运算数据也丢失了,在商业环境中,可以让集群开几个小时,再释放,不是一直要启动一个集群,若全天候启动,每小时3.88,每天24*3.88=93.12,每月93.12*30=2793元,心疼呀,当然,包月省电,但是很多时候还是不一定要全天候运行,还有,扩大集群后,也要释放。不过,阿里倒是很厚道,就是有了对象存储OSS,这个就相当于存储空间,你采购阿里云上的OSS,集群就可以把输入和输出数据,放在OSS这个大硬盘上,这个大硬盘是很便宜啦,1TB每月144元,白菜价格啦,因此,建立集群前一定要买个大硬盘,便于把自己集群运算的结果放在这个大硬盘上。

    4)创建集群后,你就是主人了。当然,要理解Hadoop集群结构了。集群至少有两个“孩子”,一个是老大你可以通过公网访问它,比如,把代码用SSH等放在相关目录,当然,你也可以把程序放在大硬盘OSS上,设置后让集群来取,当然,要深入理解集群,还是要踏入自己孩子在房间看看为好。在创建集群后,可以看到Master机器的公网地址,你就当一台ECS的主机就好,登录可以做相关操作,当然,另外一个孩子是不要我们控制的,集群自己管理,是内部地址。所以,需要安装一个常见的SSH登录工具。

    5)集群的大致规划:先规划OSS,在上面建立文件夹,放置自己集群计算内容,我们还是以分析一篇英文小说中的词汇状态,即英文切词为例吧,这个在阿里的手册中有代码,这也算是集群的“hello world”程序,比如,在OSS上建立Input文件夹,当然,还有集群的输出文件夹Output(注意:输入文件夹可以反复使用,输出文件夹不能是已经存在的目录,即阿里认为,输出的东西是花钱的很宝贵呀,每次输出,都要是全新的文件夹,保证客户花钱的结果不能被弄乱,因此,每次集群运行的时候,我们都要给集群指定输出的文件夹,我一般采用Output/2014-4-25-2模式建立输出文件夹);有了语料,程序,有了输出文件夹,集群就可以开始工作了,并把输出结果放置在相关OSS硬盘中;这样,我们就可以省钱了,比如,创建一个集群,并打开相关作业,再一定时间后关闭,安心下班睡觉,钱不会漏呀!

    6)集群运行机制的大致理解:相关Hadoop资料,多如牛毛,我也没有过多时间理解,但是,我们应该对集群的运行有个大致理解。

    —集群购买启动等待你的配置

    —配置作业:一个作业(任务)至少,要给集群OSS设置,包括运行的JAVA程序包的位置,输出的文件的位置,等等参数吧

    —启动作业(任务),集群开始运行

    —集群运行,Master机器,肯定先看看运行的OSS配置变量,从OSS下载JAR包,还有计算的数据,比如,英文小说的数据文件,这些文件再根据一定规律分配给子节点,在启动集群程序运行

    —集群运行过程中,若有什么情况,肯定报告给控制台,我们点击获得集群的运作状态

    —集群作业结束,并返回运作数据到OSS

    —我们可以在Output的相关目录下看到结果

   3.我的第一个E-MapReduce程序:2009年后,本人就没有编写JAVA代码了,离开码农岗位了,这次也不想过分打扰工程师,主要想让自己重新体验下JAVA工程,再为下步集群规划做准备。因此,在此过程中,自己动手,花了点时间。

   1)本地打包程序出错:在本地安装了多年不见的Eclipse(还是很熟悉的界面),从阿里E-MapReduce文档中下载代码,开始编译Word Count,兴冲冲地把JAR包上传到OSS,并启动集群,结果是类没有打包好,汗呀,确实不会打包了,关键是阿里文档中有打包命令行,我就是按照这个模式打包的呀。

    2)问了阿里同学,说是要在Hadoop集群环境中打包。晕倒,我能够在本地安装,配置好Hadoop集群,我还到阿里来购买吗?显然,这个应该是把代码直接上传到集群主机(用SSH),并在集群上打包呀。具体打包的过程,还是阿里文档中的打包过程。这边折腾我几个小时。(第一天就这样过去了,我是周六下午4点开始的,晚上11点下班,除了启动集群,看到我的JAR类没有打包好外,当然,还花费了块30元集群费用呀,好像就没有其它收获了,当然,阿里同学很给力,说第二天给我在集群上打包,并给我过程截图,汗呀,JAR包不会打了)

   3)(周日,阿里同学传来打包截图),重新创建集群,根据阿里同学的截图,我在集群主机上打包好Word Count,再下载下来,再传递到OSS上,再启动集群,成功啦!可以看到分词的结果(这个过程当然是一个小时内了,有关集群打包的过程截图在附件中)

    4.我的第一个E-MapReduce控制程序:由于公司现在计算量不大,准备定时开集群,定时释放,这样每天的工作,不该都由人工操作呀,阿里还是不错的,允许你写个JAVA程序,运行在公司办公室或者其它服务器上,定时给阿里云发指令,让其自动创建集群,定时释放等等,实现全自动化的作业,这个当然是重要的控制程序了,阿里手册中都有代码。在和阿里团队互动中,我就提出,用户更加需要工程文件,而不是代码,代码我们一眼就看懂,但是,用这些代码建立工程就痛苦了,即代码和工程之间还是有距离的,用户需要高效率工作,基于工程快速实现目标,因此,这些自动化程序都是阿里同学给工程代码了,很快完成了。(周日,第二天就这样过去了,顺利运行集群,并创建了集群自动化控制程序,还是花费30元呀)

    4.我的第一个中文分词程序:阿里给的是英文分词程序,但是,公司需要中文分词,就寻找了一个开源的中文分词程序,这个就是第三天的任务,开始脱落阿里的案例代码,运作自己的程序。

   1)第三天任务,不仅有自己的JAR包,此JAR包还有一个外接的JAR包,这个配置有点问题,开始时候,把外部JAR包放在Master的root目录,结果,Hadoop权限不够,运行不了。

   2)后来把JAR包放在Home的目录表,Hadoop就可以取到这个外部JAR包了,程序是运行起来了。

   3)为了测试集群的能耐,我下载了100多M的中文语料,但是,一直失败,后来,我想还是放小目标,用集群去分析《红楼梦》吧,终于成功了。(完成第三天的任务)

    经验之谈:1)要对阿里云,集群有比较清晰的认知,之前,我们就用了ECS几年了,还有OSS都在用,因此,没有用的同学,要把他们弄清;2)要对集群的运作机理搞清楚,包括OSS和集群的关系,集群的运作过程,不然,在配置中会遇到问题;3)代码层面就是像阿里同学要工程,而不是代码;4)加入他们的互动群,有问题提交工单,不要一个人孤军奋战,这个也是商业购买的优点,若让自己一个人去整个Hadoop集群,是以周为代价的时间。

    其实,自己体验后,公司的集群规划,研发计划都很清楚了,如何省钱,如何提高效率都知道了。

     

  

   

    

   

时间: 2024-09-30 11:56:20

三天100元从零开始搭建Hadoop集群的相关文章

Linux服务器下搭建hadoop集群环境 redhat5/Ubuntu 12.04

Ubuntu 12.04 下搭建 hadoop 集群环境步骤 一. 搭建环境前的准备: 我的本机Ubuntu 12.04 32bit作为maser,就是上篇hadoop单机版环境搭建时用的那台机子,http://www.linuxidc.com/Linux/2013-01/78112.htm 还在KVM中虚拟了4台机子,分别起名为: son-1        (ubuntu 12.04 32bit),son-2        (ubuntu 12.04 32bit),son-3        (

大数据探索:在树莓派上通过 Apache Spark on YARN 搭建 Hadoop 集群

有些时候我们想从 DQYDJ 网站的数据中分析点有用的东西出来,在过去,我们要用 R 语言提取固定宽度的数据,然后通过数学建模来分析美国的最低收入补贴,当然也包括其他优秀的方法. 今天我将向你展示对大数据的一点探索,不过有点变化,使用的是全世界最流行的微型电脑----树莓派,如果手头没有,那就看下一篇吧(可能是已经处理好的数据),对于其他用户,请继续阅读吧,今天我们要建立一个树莓派 Hadoop集群! I. 为什么要建立一个树莓派的 Hadoop 集群? 由三个树莓派节点组成的 Hadoop 集

windows7下搭建hadoop集群环境

问题描述 有人会在win7下搭建hadoop集群环境吗?我急需要搭建,有会的帮帮忙吧,我整了两天了没弄出来,着急死了!cygwin安装完运行sshlocalhost出现这种错误,是怎么回事啊? 解决方案 解决方案二:我是真心不会,帮顶吧,有份资料可以参考下,去搜"王家林hadoop".解决方案三:楼上的问题解决了吗?我跟你遇到了完全相同的问题~跪求答案

使用Windows Azure搭建Hadoop集群

项目中在私有云中使用CDH (Cloudera Distribution Including Apache Hadoop)搭建Hadoop集群进行大数据计算.作为微软的忠实粉丝,将CDH部署到Windows Azure的虚拟机中是我的必然选择.由于CDH中包含多个开源服务,所以虚拟机需要开放的端口众多.Windows Azure中的虚拟机的网络是被安全隔离的,因此在Windows Azure中Virtual machines的服务中创建多个虚拟机安装Hadoop cluster,最佳的方案是为H

树莓派上搭建 Hadoop 集群环境的方法

最近在学习 Hadoop,正好前几天又在玩儿树莓派,查阅了一些文档,感觉在树莓派上搭建 Hadoop 集群是可行的,当然了,别对性能抱太大的希望,主要是感受一下分布式计算的魅力.在这个过程中参考了很多文档,先列在这里,基本上这些文档都非常详细了,大家可以直接参考. How to build 7 node Raspberry Pi Hadoop cluster Hadoop集群安装配置教程 Hadoop2.6.0 Ubuntu/CentOS 实验软硬件清单 以下是我的实验环境所用的硬件和软件版本清

搭建hadoop集群为什么要设置SSH无密码登录?

问题描述 搭建hadoop集群为什么要设置SSH无密码登录? 解决方案 解决方案二:集群之间的调度需要.如:俩台服务器001和002.001执行重启的shell后002也要重启.这时候要通过ssh调用002的重启shell

cygwin在win7下搭建hadoop集群环境

问题描述 江湖救急!!有人会在win7下搭建hadoop集群环境吗?我急需要搭建!cygwin安装完运行sshlocalhost出错!

搭建hadoop集群中遇到的各种问题,整理如下:

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;     和同伴一起搭建hadoop集群中遇到的各种问题,整理如下: 前言 在寒假前的一段时间,开始调研Hadoop2.2.0搭建过程,当时苦于没有机器,只是在3台笔记本上,简单跑通一些数据.一转眼一两个月过去了,有些东 西对已经忘了.现在实验室申请下来了,分了10台机器(4G+500G),这足够我们玩的了.开始搭建Hadoop2.2.0分布式集群,也趁着这个机会 把

基于OSS存储搭建Hadoop集群

简介 本文以Ubuntu操作系统为例,介绍基于Aliyun OSS的hadoop-3.0.0-beta1的集群环境搭建过程,示例的集群环境包括1个master和2个slave节点(slave1和slave2).请参考官方文档. 操作账户默认使用root账户 注意:为了方便用户操作,减少错误发生,本文假定所有操作都是使用root账户:如果使用非root,请根据自己的实际情况进行操作步骤的修订. 在各个节点上操作目录均为/home/hadoop目录 所有下载软件包的存放和操作目录为:/home/ha