首页 文章 精选 留言 我的

精选列表

搜索[官方镜像],共10000篇文章
优秀的个人博客,低调大师

《Spark 官方文档》在Amazon EC2上运行Spark

在Amazon EC2上运行Spark Spark的ec2目录下有一个spark-ec2脚本,可以帮助你在Amazon EC2上启动、管理、关闭Spark集群。该脚本能在EC2集群上自动设置好Spark和HDFS。本文将会详细描述如何利用spark-ec2脚本来启动和关闭集群,以及如何在集群提交作业。当然,首先你必须在Amazon Web Services site上注册一个EC2的账户。 spark-ec2可以管理多个命名集群。你可以用它来启动一个新集群(需要提供集群大小和集群名称),关闭一个已有的集群,或者登陆到一个集群。每一个集群的机器将会被划分到不同的EC2安全组(EC2 security groups)当中,而这些安全组的名字是由集群的名称派生而来。例如,对于一个命名为test的集群,其主节点(master)将被分到一个叫test-master的安全组,而其他从节点(slave)将被分配到test-slaves安全组。spark-ec2脚本会自动根据你提供的集群名称,来创建安全组。你可以在EC2的控制台(Amazon EC2 Console)中使用这些名字。 准备工作 首先,你需要创建Amazon EC2 key pair。这需要登陆Amazon Web Services账号,在AWS控制台(AWS console)上点击侧边栏上的Key Pairs来创建,并下载。同时,你要确保给这私匙文件附上600权限(即:可读可写)以便使用ssh登陆。 使用spark-ec2的时候,一定要设置好这两个环境变量,AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,并使其指向你的Amazon EC2 access key ID和secret access key。这些都可以在AWS主页(AWS homepage)上,点击 Account > Security Credentials > Access Credentials获得。 启动集群 切换到你下载的spark的ec2目录下 运行命令./spark-ec2 -k <keypair> -i <key-file> -s <num-slaves> launch <cluster-name>,其中<keypair>是你的Amazon EC2 key pair的名字(你创建Amazon EC2 key pair的时候所指定的名字),<key-file>是Amazon EC2 key pair的私钥(private key)文件,<num-slaves>是slave节点个数(至少是1),<cluster-name>是你指定的集群名称。 例如: bash exportAWS_SECRET_ACCESS_KEY=AaBbCcDdEeFGgHhIiJjKkLlMmNnOoPpQqRrSsTtU \ export AWS_ACCESS_KEY_ID=ABCDEFG1234567890123 ./spark-ec2 --key-pair=awskey \ --identity-file=awskey.pem \ --region=us-west-1 \ --zone=us-west-1a \ launch my-spark-cluster 集群启动完成后,检查一下集群调度器是否启动,同时,你可以在Web UI上查看是否所有的slave节点都正确的展示出来了,Web UI的链接在脚本执行完以后会打印在屏幕上(通常这个链接是 http://<master-hostname>:8080) 你可以运行./spark-ec2 –help 来查看更多的选项。以下是比较重要的一些选项: –instance-type=<instance-type> 可以指定EC2机器的实例类型。目前,该脚本只支持64-bit的实例类型。 –region=<ec2-region>可以指定EC2集群部署于哪个地域,默认地域是 us-east-1。 –zone=<ec2-zone>可以指定EC2集群实例部署在哪些地区(EC2的可用地区)。指定这个参数时注意,有时候因为在某些地区可能出现容量不够,因此你可能需要在其他地区启动EC2集群。 –ebs-vol-size=<GB>可以在每个节点上附加一个EBS(弹性可持续存储)卷,并指定其总容量,这些存储时可持久化的,即使集群重启也不会丢失。 –spot-price=<price> 将启动竞价型实例(Spot Instances)工作节点,这些节点可以按需分配,可竞价,并且可以设定竞价最高价格(以美元计)。 –spark-version=<version> 可以在集群中预先加载指定版本的spark。<version>可以是一个版本号(如:0.7.3)或者是一个git hash值。默认会使用最新版本的spark。 –spark-git-repo=<repository url> 可以指定一个自定义的git库,从而下载并部署该git库中特定的spark构建版本。默认使用Apache Github mirror。如果同时指定了spark版本,那么–spark-version参数值不能使用版本号,而必须是一个git提交对应的git commit hash(如:317e114)。 如果启动过程中由于某些原因失败了(如:没有给private key文件设定正确的文件权限),你可以用–resume选项来重启并继续已有集群的部署过程。 在VPC(Amazon Virtual Private Cloud)上启动集群 运行 ./spark-ec2 -k <keypair> -i <key-file> -s <num-slaves> –vpc-id=<vpc-id> -subnet-id=<subnet-id> launch <cluster-name>,其中,<keypair>是你的EC2 key pair(之前已经创建的),<key-file>是key pair中的私钥文件,<num-slaves>是从节点个数(如果你是第一次用,可以先设成1),<vpc-id>是VPC的名称,<subnet-id> 是你的子网名称,最后<cluster-name>是你的集群名称。 例如: bash export AWS_SECRET_ACCESS_KEY=AaBbCcDdEeFGgHhIiJjKkLlMmNnOoPpQqRrSsTtU \ export AWS_ACCESS_KEY_ID=ABCDEFG1234567890123 ./spark-ec2 --key-pair=awskey \ --identity-file=awskey.pem \ --region=us-west-1 \ --zone=us-west-1a \ --vpc-id=vpc-a28d24c7 \ --subnet-id=subnet-4eb27b39 \ --spark-version=1.1.0 \ launch my-spark-cluster 运行应用 转到你下载的spark的ec2目录下 执行./spark-ec2 -k <keypair> -i <key-file> login <cluster-name>远程登录到你的EC2集群,其中,<keypair>和<key-file>的说明见本文上面(这里只是为了方便说明,你也可以使用EC2的控制台) 如果需要把代码或数据部署到EC2集群中,你可以在登录后,使用脚本 ~/spark-ec2/copy-dir,并指定一个需要RSYNC同步到所有从节点(slave)上的目录。 如果你的应用需要访问一个很大的数据集,最快的方式就是从Amazon S3或者Amazon EBS设备上加载这些数据,然后放到你集群中的HDFS上。spark-ec2脚本已经为你设置好了一个HDFS,其安装目录为/root/ephemeral-hdfs,并且可以使用该目录下的bin/hadoop脚本访问。需要特别注意的是,这个HDFS上的数据,在集群停止或重启后,会被自动删掉。 集群中也有可以持久的HDFS,其安装路径为/root/persistent-hdfs,这个HDFS保存的数据即使集群重启也不会丢失。但一般情况下,这个HDFS在每个节点上可使用的空间较少(约为3GB),你可以用spark-ec2的选项–ebs-vol-size来指定每个节点上持久化HDFS所使用的空间大小。 最后,如果你的应用出错,你可以看看改应用在slave节点的日志,日志位于调度器工作目录下(/root/spark/work)。当然,你也可以通过web UI(http://<master-hostname>:8080)查看一下集群状态。 配置 你可以编辑每个节点上的/root/spark/conf/spark-env.sh文件来设置Spark配置选项(如:JVM选项参数)。这个文件一旦更改,你必须将其复制到集群中所有节点上。最简单的方式仍然是使用 copy-dir 这个脚本。首先,编辑主节点(master)上的spark-env.sh文件,然后,运行 ~/spark-ec2/copy-dir /root/spark/conf 将conf目录RSYNC到所有工作节点上。 configuration guide这一边文档说明了有哪些可用的选项配置。 终止集群 请注意,如果EC2节点被关闭后,是没有办法恢复其数据的!所以,请务必确保在关闭节点之前,将所有重要的数据复制出来,备份好。 切换到spark下的ec2目录 运行命令 ./spark-ec2 destroy <cluster-name> 暂停和重启集群 spark-ec2脚本同样支持暂停集群。这种情况下,集群实例所使用的虚拟机都是被停止,但不会销毁,所以虚拟机上临时盘数据都会丢失,但root分区以及持久HDFS(persistent-hdfs)上的数据不会丢失。停止机器实例不会多花EC2周期(意味着不用为机器实例付费),但会持续EBS存储的计费。 要停止一个集群,你需要切到ec2目录下,运行 ./spark-ec2 –region=<ec2-region> stop <cluster-name> 如果过后又要重启,请运行 ./spark-ec2 -i <key-file> –region=<ec2-region> start <cluster-name> 如果需要最终销毁这个集群,并且不再占用EBS存储空间,需要运行 ./spark-ec2 –region=<ec2-region> destroy <cluster-name>(如前一小节所述) 限制 对“集群计算”的支持有个限制 – 无法指定一个局部群组。不过,你可以在<cluster-name>-slaves群组中手工启动一些slave节点,然后用 spark-ec2 launch –resume 这个命令将手工启动的节点组成一个集群。 如果你发现一些新的限制或者有什么建议,欢迎贡献(contribute)到社区。 访问S3上的数据 Spark文件接口允许你通过相同的URI格式访问所有在Amazon S3上的数据,当然这些数据格式必须是Hadoop所支持的。你可以通过这种URI格式指定S3路径 s3n://<bucket>/path。在启动Spark集群的时候,可以使用选项–copy-aws-credentials来指定访问S3的AWS证书。更完整的访问S3所需的Hadoop库可以在这里查看Hadoop S3 page. 另外,访问S3的时候,你不仅可以将单个文件路径作为输入,同时也可以将整个目录路径作为输入。 转载自并发编程网 - ifeve.com

优秀的个人博客,低调大师

官方教程:教你用好微信JS-SDK接口

微信开放JS-SDK接口,开发者和行业用户可谓是欢欣鼓舞、奔走相告,目测将激起一大波第三方开发商的创新产品!真真是H5开发者的利好!但也有用户表示,还不了解JS-SDK接口到底是啥,究竟怎么用。现在,小编就通过大量实战案例为大家逐一讲解,争取让大家都会用、且用好JS-SDK接口,赶紧往下看吧! 1、分享类接口:支持获取“分享到朋友圈”、“发送给朋友”、“分享到QQ”和“分享到微博”按钮的用户点击状态,同时支持自定义分享内容。 小编解读:说起分享接口应用,最常见的莫过于公众号文章分享。通过分享按钮,用户可以将自己喜欢的文章分享给微信好友,也可分享到微信朋友圈。 通过此次开放的分享接口,开发者获得了新的能力: 可以在用户分享时,为其设置个性化的分享图片、标题、描述等,从而使分享的内容更生动有趣,以获得更好的传播效果。 同时,通过此接口,开发者还可以获知用户是否分享了网页,帮助其更好地评估网页服务是否受用户喜爱等。 2、图像类接口:支持拍照,并从手机相册选择、上传、下载和预览图片。 小编解读:“云打印”已开通了图像类接口,用户可以自由选择、打印手机相册中已有的照片,或是即时拍摄一张照片。打印前,可通过大图预览确认照片选择是否有误。 这实际上帮助开发者在网页上流畅、低成本地实现了选图或拍照的功能,也为用户带去了更好的使用体验。 大家熟悉的“印美图”,就是通过图像类接口,接收用户上传的照片,从而帮助用户完成打印服务。今后,运营者、商家通过H5页面发起照片征集等活动时,图像类接口也能帮上忙了。 3、音频类接口:支持语音的录制、播放和暂停播放,同时支持将语音快速上传到云端服务器,或从云端服务器将语音快速下载到网页。 小编解读:“微邮筒”早前已开通了音频类接口,用户在制作明信片时,可以同时录一段语音。当亲朋好友或自己收到明信片时,扫一扫明信片上的二维码,即可收听该段语音。 如此一来,语音就脱离了手机存储的限制,用户在任何时候、通过任何帐号,只要打开微信扫码即可获取语音片段,让记忆更坚固、长久。 4、智能类接口:支持将语音快速地转换成文字。开发者无需掌握语音识别相关技术,只需简单引用微信JS-SDK提供的方法即可实现。 小编解读:微信的语音输入、语音转文字功能已上线有段时间了,受到用户的广泛好评。 事实上,TA能做的还有更多。比如“付费通账单查缴”就借此为用户提供了“语音缴费”服务。用户不用按键,对着手机说出账单户号,就像平时用微信跟朋友聊天一样,然后点击“确认”即缴费成功,可谓是“躺着都可以完成”。便捷的缴费体验赢得了用户的青睐,该帐号上线仅仅5天,就拥了11539名用户,交易成功1862笔,交易金额达到20万元。 因此,语音识别等智能类接口的开放,对一些开发能力稍弱的运营方来说,无疑是重大利好。 5、设备信息类接口:支持获取当前手机设备的网络状态,如2G、3G、4G或Wi-Fi,为用户提供流畅的浏览体验。 小编解读:精心设计的界面、互动体验,如果因为用户手机网络原因而无法呈现,出现跳转迟缓、显示不全等状况,不仅白白浪费了运营者的前期努力,也容易挫伤用户参与积极性,留下不佳的印象。如果能够获取用户当前手机设备状态,通过技术手段加以干预,比如根据设备网络状态推送合适的网页版本,那么将大大减少此类状况的发生,用户体验也将更有保障。 6、地理位置类接口:支持获取用户的地理位置信息(前提是获得用户同意),支持使用微信的内置地图查看器,查看地理位置或导航。 小编解读:“大众点评”已将地理位置功能应用得相当成熟,当用户发起团购美食、电影票、订酒店等需求时,“大众点评”可以立即根据用户实时位置,向用户展示其位置周边相应商家。用户打开相关商品、服务详情页后,还可点击商家地址,调出地图、查询导航指引。 7、界面操作类接口:支持隐藏或显示微信内置浏览器“右上角菜单”、“分享到朋友圈”、“发送给朋友”、“复制链接”等指定按钮,支持关闭当前网页窗口并返回公众号会话。 小编解读:众所周知,点击微信界面右上角的“···”,将打开微信所有的菜单按钮,但对不同类型的商家、活动来说,并非所有菜单按钮都有用,冗余的按钮反而会耽误时间,干扰用户选择。界面操作类接口的开放,能帮助运营者关闭不需要的按钮,优化选择界面,也能提升用户操作效率。 8、微信扫一扫接口:支持使用微信扫一扫,扫描一维码或二维码,并将用户扫码内容交由微信处理或返回给网页由网页处理。 小编解读:除了扫街景、翻译,微信扫一扫在购物中的应用也已十分广泛,京东、当当等许多网站均支持微信扫码支付结算,用户在逛街时,通过微信扫描商品条形码,亦可即时查询到线上购买价格。 除此之外,微信扫一扫亦可扫实物。微信与Panda.W在广州花城大道开展的“微信扫熊猫”图象识别合作,首创通过实物、3D图形加入微信扫码新功能,用户直接扫描实物,就能进入相应的商品售卖页面,开始购物。从看见到购买、售后无缝对接,大大缩短用户犹豫期,帮助商家有效促进了销售。 9、微信小店接口:支持从网页跳转到指定的微信小店商品页,支持浏览商品的详细信息,支持完整的购买、客服等流程。 小编解读:花心思做了H5推广页面,用户还得通过扫码、加关注、找入口,才能开始购买商品?太慢了!今后,用户只需轻轻一点,就能直接打开相应微信小店的商品详情页,光速完成详情查询和咨询、购买。 10、微信卡券接口:支持批量添加卡券、调起使用门店卡券列表及获取用户选择列表。 小编解读:简而言之,通过这个能力,商家能批量添加多种卡券,并直接为用户展示其附近的门店能够使用那些卡券,引导其选择领取。同时,通过对后台“用户选择列表”进行数据分析,能够快速了解相应商圈的用户喜好、整体产品受欢迎程度等,比如XX小区附近用户更爱“牛堡+姜饮”,以便后期的商品调配与优化经营。 11、微信支付接口:支持有支付权限的公众号在网页发起一个微信支付请求。 小编解读:在某些场景下,相对于图文消息,网页多样化的呈现形式更能满足运营者的需求。如“腾讯公益”,需要向用户介绍项目进程、项目详情等,信息量较大,同时又需要兼顾用户捐款的便捷性,因此,在网页能够直接发起微信支付请求的需求非常迫切。如今,用户在查看完“腾讯公益”各项目介绍内容后,已能直接在网页底部点击捐款按钮,就能立即通过微信支付进行捐款。 附微信开放JS-SDK接口权限列表:

优秀的个人博客,低调大师

CentOS 之父创造的 Rocky Linux 8.3 镜像下载来啦!

是的,在经历了3月30号的跳水,4月30号的意外后,在全球人民的五一国际劳动节当天,Rocky Linux 8.3 RC1 发布啦! Gregory Kurtzer 述:今年最受期待的开源项目发布就在这里!这是Rocky Linux 8.3的第一个候选发行版的首次安装!Rocky是社区企业操作系统,现在CentOS已成为RHEL的协作开发测试基地。特别感谢所有实现此版本的朋友。言出必行,Rocky Linux已经准备就绪! 中文社区爱好者安装截图: 为方便国内Rocky Linux爱好者下载试用,Rocky Linux中文社区已经进行了多种方式的作种,包括:迅雷VIP、BT下载、百度网盘、天翼云盘等(在此感谢社区爱好者),欢迎大家下载试用,有任何问题,可以在Rocky Linux中文社区QQ群、微信群交流沟通。 下载链接:https://rockylinux.cn/rocky-linux-mirror-download.html 欢迎加入中文社区QQ群:626649599 微信群:rockylinuxcn [群已满,加微信单独拉人]

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册