Pet*_*erS 5 python numpy amazon-ec2 scipy starcluster
我有一个Python科学模型,它调用一些C代码并使用numpy,scipy和许多地理分析模块.我想在EC2上部署它,但我对EC2还不太了解.
我已经检查过,在设置了源自StarCluster AMI的AMI后,我可以使用StarCluster包来部署我的堆栈.这些已经有numpy和scipy以及ipython,所以我所要做的就是添加地理模块.
我的计划是编写一个独立的GUI,在客户的机器上运行,并确保他们的输入对我的模型有效.然后,独立GUI将最多约10 GB的压缩档案发送到FTP位置.然后他们登录我在EC2上运行的网页,在那里他们配置运行属性(实例数,模型运行数).该网页启动一个脚本,该脚本在客户指定的大小集群上完成客户的工作.后处理器处理模型输出并写入结果网页和图形,这些网页和图形最初受密码保护,仅供客户查看.我的模型运行包括可能需要5分钟到3个小时的单独迭代.
任何人都可以提供任何有关此型号理想设置的建议吗?我想我可以弄清楚它的科学部分,但我不知道运行网络界面的起点是什么......
谢谢
小智 2
有趣的项目!
可以通过 pip 向部署在 AWS EC2 上的 AMI 添加模块。首先,您需要通过 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 堆栈规范。用户可能还想添加 NeuroDebian 存储库以获取额外的 Scipy 软件包。Fedora sudo yum install numpy scipy python-matplotlib ipython python-pandas sympy python-nose
Fedora 17 及更早版本的用户应使用 pip 升级 IPython: 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
在不知道您的具体要求、计划和时间/预算限制的情况下,这就是我能给出的最多建议。不过,如果有任何其他问题,请随时回复此帖子或直接联系我。