博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Spark分析拉勾网招聘信息(三): BMR 入门
阅读量:7019 次
发布时间:2019-06-28

本文共 2065 字,大约阅读时间需要 6 分钟。

  hot3.png

简述

本文,意在以最小的篇幅,来帮助对大数据和Spark感兴趣的小伙伴,能尽快搭建一个可用的Spark开发环境.力求言简意赅.文章,不敢自称BMR的最佳实践,但绝对可以帮助初学者,迅速入门,能够专心于Spark本身的学习和实践.不服的童鞋,可以先自己折腾下BMR,再返回来读这篇文章O(∩_∩)O哈!

创建 BMR 实例

假定,你已经有了一个经过认证的百度开发者账号,就像系列第一篇文章讲的那样.什么?没有?那基本,没有必要继续往下读了,明天再来吧.没有经过认证的百度开发者账号,应该是没有权限创建 BMR 实例的.

1.登录

网址是 填写账号和密码,大家都懂的.建议收藏下,应为百度开放云,搜索时,很容易被导流到百度云盘上,这是两个不同的东西.

2.充值

在 "管理控制台",个人信息附近分栏下,有个"充值"按钮.至少应该保证账户余额是100元,否则应该是无法成功创建BMR的.

3.创建BMR

点击顶部的产品服务 --> 百度MapReduce --> 创建集群.

创建BMR

在创建BMR界面,"bos://"点击下拉箭头,新创建即可;集群配置--镜像版本,要选择 "BMR 0.2.0(hadoop 2.6",否则无法使用openVPN访问;内置模板,选择 "Spark",其他自己随意写即可.当然,要自己记住密码,等会儿还要用的.

创建BMR

就这样,大概10分钟后,就初始化完成了.在等待的这段时间,建议你去搜搜大数据或者spark相关的讨论,说不定会有额外收获.

使用 openVPN 访问 BMR

假定,你现在已经有一个初始化完成的 BMR 实例.点击实例名称,进入详情页,画风是这样的.

使用 openVPN 访问 BMR

使用 openVPN 访问 BMR

点击"工具下载"中的 openvpn-confi.zip 下载到本地,然后按照教程配置即可,教程参见: ()[]

OpenVPN服务仅支持访问镜像类型为Hadoop 2.6(bmr 0.2.0)的集群,也就是说如果你的BMR实例中没有"工具下载"一栏,说明你创建时镜像类型选错了.

配置好openVPN后,就可以通过"节点信息"中,各个节点的内网地址来访问了,主要用到的是MASTER节点.另外,我发现配置好openVPN后,我也可以通过内网地址直接访问我的其他百度云服务了,比如 云服务器,不是十分确定个中缘由,难道都在同一个机房? MASTER 节点,内网地址访问的画风一起感受下:

使用 openVPN 访问 BMR

另外,熟悉服务器基本操作的人,可能会ssh登录Master节点.当然是完全可以的.一个BMR节点,是一个独立的完整的服务器.我甚至给上面配置过node开发环境,不过后来就没折腾了,因为这个处理完数据就释放了,一直开着太费钱.当然,当遇到某些特殊问题的时候,还是需要自己ssh登录去处理的.比如,我的 zeppelin 服务,曾经崩溃过一次,我只能自己ssh上去重启.客服也是可以的,但这点小事都解决不了,岂不是显得我很LOW?!

使用 hue 导入数据到BMR

hue的访问地址为: 内网地址的8888端口,如 ,画风是这样的:

使用 hue 导入数据到BMR

用户名和密码是自定义的,密码随意,建议用户名填写 hdfs 否则导入的数据,待会儿无法在zeppelin中使用,这涉及到一个用户组权限的问题.感兴趣的自己研究下,我不细说了.

点击 File Browser --> 上传 --> zip/tgz文件,然后选择你昨天处理好的 职位数据文件即可.没能成功的童鞋,可以直接去文首的github项目中下载:

使用 hue 导入数据到BMR

使用 hue 导入数据到BMR

使用 hue 导入数据到BMR

数据导入OK了.如果发现发现上传完成后,一直卡在上传表单页不动,直接点叉叉号关闭就好了,它会后台解压的.

使用 zeppelin 读取数据

BMR 的 zeppelin 的服务部署在 8093 端口,如,这是我打印出所有端口,排查出来的,文档上没有丝毫提及.不清楚文档为啥不提,但 zeppelin 可是最流行的Spark交互式开发工具.第一次访问,会有些慢.应该在初始化某些东西.

使用 zeppelin 读取数据

Create New Note,然后开始练习吧:

使用 zeppelin 读取数据

使用 zeppelin 读取数据

读取并打印结构的脚本:

val job = sqlContext.read.json("jobs")job.registerTempTable("job")job.printSchema()

初觉没有什么,但是仔细想下,这可是几百个文件,里面是确实存在异常数据的.当然,真正神奇的地方,是读取之后,可以直接基于此进行各种复杂的聚合运算与分析.这是下一篇的主题了.

注意: 练习完,注意释放 BMR 实例,否则会一直计费的.

附:zeppelin 启动和重启的脚本

我相信,你是有极大可能,把 zeppelin 服务搞挂的,当内存开销过大时

cd /usr/lib/zeppelin-0.5.0-incubatingbin/zeppelin-daemon.sh startbin/zeppelin-daemon.sh stop

本系列专属github地址:

转载于:https://my.oschina.net/ios122/blog/741466

你可能感兴趣的文章
第三代身份证原来是这样的 安全最大化不是梦想!
查看>>
linux 计划任务
查看>>
使用POI实现报表打印功能
查看>>
英国电信 云计算还不成熟
查看>>
运行于显卡(GPU)的Rootkit木马和键盘记录器问世
查看>>
三星推出高容量、企业级绿色SSD
查看>>
PHP/如何在Linux服务器中隐藏PHP版本
查看>>
高速加密:IBM发布更猛更快的z14大型机
查看>>
任何口令都可访问Advantech工业网关
查看>>
如何让CIO的ITIL实施“一帆风顺”
查看>>
迅雷移动端业务发展迅猛 Q2广告收入同比上涨41.6%
查看>>
迎接数字化社会,华为积极布局
查看>>
阿里云成为CNCF金牌会员 提供云端Kubernetes解决方案
查看>>
F5:亡羊补牢为时已晚,投资网络安全比处理漏洞更划算
查看>>
青云QingCloud推出HBase集群服务 支持SQL等高级功能
查看>>
Windows远程桌面漏洞Esteemaudit(CVE-2017-9073)补丁简要分析
查看>>
Arbor Networks凭借业界全面的 DDoS 防御组合为各类客户提供可用性保护
查看>>
达沃时代帮助VSAN提供NAS方案
查看>>
买服务器网络设备时该考虑哪些因素?
查看>>
悲催的CISO:数据泄露事故的替罪羊
查看>>