繁体   English   中英

在Amazon ec2上部署科学python算法

[英]Deploying scientific python algorithm on Amazon ec2

我有一个Python科学模型,它调用一些C代码并使用numpy,scipy和许多地理分析模块。 我想在EC2上部署它,但我对EC2还不太了解。

我已经检查过,在设置了源自StarCluster AMI的AMI后,我可以使用StarCluster包来部署我的堆栈。 这些已经有numpy和scipy以及ipython,所以我所要做的就是添加地理模块。

我的计划是编写一个独立的GUI,在客户的机器上运行,并确保他们的输入对我的模型有效。 然后,独立GUI将最多约10 GB的压缩档案发送到FTP位置。 然后他们登录我在EC2上运行的网页,在那里他们配置运行属性(实例数,模型运行数)。 该网页启动一个脚本,该脚本在客户指定的大小集群上完成客户的工作。 后处理器处理模型输出并写入结果网页和图形,这些网页和图形最初受密码保护,仅供客户查看。 我的模型运行包括可能需要5分钟到3个小时的单独迭代。

任何人都可以提供任何有关此型号理想设置的建议吗? 我想我可以弄清楚它的科学部分,但我不知道运行网络界面的起点是什么......

谢谢

有趣的项目!

将模块添加到您在AWS EC2上部署的AMI可以通过pip完成。 首先,您需要SSH访问您的实例。 关于这方面的文档在这里: http//docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html然后,如果你还没有安装它,你可以安装pip和你的附加软件包和模块如下:

sudo apt-get install -y python-pip
sudo pip install numpy (already installed so no need for this)
sudo pip install scipy (same as above)

Ubuntu和Debian sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

Ubuntu 12.10和Debian 7.0中的版本符合当前的Scipy堆栈规范。 用户可能还想为额外的Scipy包添加NeuroDebian存储库。 Fedora sudo yum安装numpy scipy python-matplotlib ipython python-pandas sympy python-nose

Fedora 17及更早版本的用户应该使用pip升级IPy:sudo pip install --upgrade ipython(上面的信息通过scipy文档找到: http//www.scipy.org/install.html

至于您的GUI和大文件上传计划,请查看AWS S3(虽然这有一些限制)用于文件存储,并且根据您想要推送解决方案的程度,您可以使用分块文件上传或流式传输多部分请求类似于文件传输的这些解决方案:

https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads
https://devcenter.heroku.com/articles/paperclip-s3
https://github.com/heiflo/play21-file-upload-streaming
https://github.com/netty/netty/issues/845
https://github.com/playframework/playframework/pull/884
https://github.com/floatingfrisbee/amazonfileupload
http://blog.assimov.net/blog/2011/04/03/multi-file-upload-with-uploadify-and--carrierwave-on-rails-3/

(快速搜索“chunked file uploads github”或“chunked file uploads google code”应该会在可用代码和详细信息方面提供很多选项。)

但是,文件上传/传输的更简单方向可能是查看以下解决方案:

http://www.bucketexplorer.com/be-download.html
https://forums.aws.amazon.com/thread.jspa?messageID=258228&tstart=0
https://forums.aws.amazon.com/thread.jspa?messageID=257781&tstart=0
http://www.jfileupload.com/products/js3upload/index.html
http://codeonaboat.wordpress.com/2011/04/22/uploading-a-file-to-amazon-s3-using-an-asp-net-mvc-application-directly-from-the-users-browser/

无论如何,您需要确保EC2实例和/或S3存储桶上的环境配置为允许大文件上载和处理。 例如,您的AMI php版本需要通过php.ini进行编译和设置,以上传超过特定大小的文件 - 您还需要注意超时 - 并且您可能需要64位AMI以及大型EBS为这一切提供动力。

对于GUI的不太复杂的前端组件,jQuery或node.js是很好的起点。 Github或AWS EC2 / S3论坛上还有大量代码包和文档,如下所示:

https://github.com/josegonzalez/upload

在不知道您的具体要求,计划和时间/预算限制的情况下,这是我能给出的最多建议。 但是,请随时回复此主题或直接ping我与任何其他问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM