开发者学堂课程【快速掌握阿里云 E-MapReduce: E-Mapreduce 离线处理】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/390/detail/5003
E-Mapreduce离线处理
内容简介
一、流程
二、环境准备
三、执行结果
本节课学习的主要目标是10分钟学会 Word Count, Word Count 与 Java 里面的 hello word 差不多,是一个入门级别的程序作业,今天学习在 E-Ma pre duce 里面如何去运行 Word Count。
一、流程
1、新建、已有集群或按需创建集群
2、下载、编译代码
3、上传 jar、资源文件,要上传到 OSS 里
4、新建作业
5、新建执行计划
6、执行
7、查看结果/看日志
8、通过网页看下作业的运行情况
二、环境准备
1、WIN环境准备:
(1)下载git,下载地址:
https://git-scm.com/download/win·
安装完 git,点击 version,会有 Java、maven(mvn)、git 和idea,xxx需要配置好环境,才方便下一步操作。
(2)准备 IDE,以 IDEA 为例子,下载地址:https://www.jetbrains.com/idea/download/ttsection=windows·
(3)JRE准备1.7版本(后续会支持1.8版本),下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jre7-downloads-1880261.html
(4)maven下载地址:
https://maven.apache.org/download.cgi
2、基本架构
这是很典型的任务,当xxx把数据放在 OSS 里面,把计算放在 EMR里面,通过 EMR 来分解 OSS 的服务,这种操作的好处就是 EMR可以按需执行,如果不按需执行,很多数据都在 OSS 里面,OSS 的存储很便宜,能做到存储计算分离也是可行的法子。
3、下载及编译
(1)下载代码:
git clone https://github.com/aliyun/aliyun-emapreduce-demo.git
(2)编译代码:
mvn install
①xxx首先要去下载 git 代码,此代码有xxx准备将阿里云模板放在git上。下载好之后敲入编译代码:mvn install,再放在 D 盘的相应位置,将内容移动到 idea 当中;可以看到 Word Count 是很典型的 Map reduce 作业,典型的 Map reduce 作业一般分为 Map 和Reduce,包括 skip 通配文件。要特别注意的是EMapReduce0SSUtil 本身是把xxx的 OSS 的短硬件转成长硬件,因为访问 OSS 时需要带的代码比较长,但是不可以每次都写代码时写的很长一串,因此建立一个类,xxx可以去使用。
②再看看编译是否成功,第一次需要下载另一些夹包,速度比较慢,但是除开下载浪费的时间,编译的速度是很快的,此时可以看到已经编译成功。
4、上传 jar 及资源文件
(1)新建 bucket,跟 E-map reduce 同一个区域(比如:杭州、上海)
(2)上传 jar 及资源文件
这里可以从 E-map reduce 的管控平台入手,可以看到 E-map reduce 已经成功创建好了其中一个集群,此集群的结构有一台master 节点和三台 core 节点;公网是114·55·40·172。
此时进入到 OSS 界面,里面有四个 bucket,要是没有 testemr 这个 bucket 管理,可以新建一个 bucket。
点击进入到 object 管理页面,删掉里面的夹包,在 input 里面有两个文件,其中一个是文章,另一个则是通配符文件,比如冒号或者点号需要删掉,因为这些符号不是单词,现在把这两个文件删掉,再将两个文件重新上传,上传成功后将夹包也重新上传,需要xxx对组织工程非常熟悉,否则不知道夹包和文件的位置,此时需要上传的文件全都上传成功。
5、新建作业、执行计划、执行
(1)新建作业:
jar ossref://testemr/examples-1.0.jar Word Count
oss://testemr/input/The_Sorrows_of_Young_Werther.txt
oss://testemr/output/ -ski poss://testemr/input/patterns.txt
(2)新建执行计划:
①如图:
该过程的实施需要返回的 E-map reduce 的管控平台开始操作,点击作业,里面的作业参数会在操作过程中用得上,xxx需要敲下来。
②第一步创建作业,作业名称只要自己认得,应用参数里面需要敲很多代码,当应用参数里面出现了 jar,那么在实际执行命令中会有 Hadoop jar、一个夹包和 Word Count 还有一些参数,这样新的作业就建立完成了。
③第二步创建执行计划,演示时为了节省时间,使用已有的集群,把刚创建的 Word Count(2)移动到已配置作业当中,点击下一步,接下来要设置执行计划的名称,并且是手动执行,点击确定提交后点击立即执行此计划,此时的执行计划就正在执行中。
6、查看日志
(1)通过控制台查看通过界面操作
(2)YARN的界面查看,文档地址:
https://help.alivun.com/document_detail/emr/trouble-shooting/ssh.html
复制key,sz .ssh/id _rsa或者ssh
端口转发: ssh -i/path/id_ xxx -ND 8157 hadoop@ master Node lP
chrome.exe --proxy-server="socks5://localh.ost:8157" --host-resolver-
rules="MAP * 0.0.0.0 ,EXCLUDE localhost" --user-data-dir=d://tmp
①可以查看帮助文档,里面主要讲述的是通过 OSS 打通登录成功,前提是公网和自己的机器是互通的。
②接下来看看如何打通,打开已经创建好的集群,通过设置的密码进行登录,如果忘记了密码,可以在 E-map reduce 的管控平台重新设置主机密码;登录进去之后可以输入 DF 查看多少磁盘,硬件里的东西都可以在里面看到。
③如何打通“隧道”:先在刚刚页面输入 Hadoop,其次通过 ssh -i进行端口转发,此处可以输入 pwd 进行查看,然后通过 chrome浏览器,也可以用其他的浏览器,这个步骤中需要先到 chrome 目录,打开之后会跳转页面,在搜索栏中查找节点。
④举例:
在搜索框输入 localhost:8088,搜索图示:
三、执行结果
此时查看执行计划的结果,执行失败,失败的原因可以在E-map reduce的管控平台查看,代码提示当前目录是存在的,是因为在之前执行过程中占据了目录,接下来对当前作业进行修改,把应用参数中的 out pot5 改成 out put6,再立即执行此计划,此时该计划正在执行中。
接下来可以进行刷新查看作业是否已提交,运行成功了;可以在运行日志查看 OSS 服务中的 out put6 目录。管控平台是可以查看失败理由的。