2016-01-02 117 views
4

是否可以在rapberry pi上安装大于3.2的mongo db版本,并在pi上安装RASPBIAN JESSIE LITE?安装mongodb版本> 3 raspberry pi 2

我只成功使用本教程的版本2.1。

http://www.widriksson.com/install-mongodb-raspberrypi/

我尝试了很多教程,但不可能找到其中一个更大的版本。

+0

MongoDB移动到64位,所以我想没有这是不可能的。 – Kickaha

+1

感谢您的快速回答我也看到,但在mongoldb网站上它写道:从MongoDB 3.2开始,32位二进制文​​件已被弃用,并且在未来的版本中将不可用。这将有可能安装至少3.2 < – Aaleks

+0

是的你是对的! ...我用这个,但不能花时间去尝试编译一个不同的版本。也许你可以... http://c-mobberley.com/wordpress/2013/10/14/raspberry-pi-mongodb-installation-the-working-guide/ – Kickaha

回答

5

由于它已经写在注释中,所以仅限于32位版本。

附带严重的缺陷:

  • 可存储的数据是小于2GB的(可能少了很多),由于WiredTiger不可用,并且MMAPv1限制为2GB的,因为最大文件大小它大量使用内存映射。它在32位机器上的可寻址空间非常有限
  • WiredTiger存储引擎不可用。它允许压缩,因此对于有限的资源会特别有趣。
  • MongoDB需要RAM。越多越好。索引需要它,连接绝望地需要它,而内存映射10则充分利用它。而且,我们只有32位。 MongoDB公司决定不为临终技术创建解决方法。所以不要指望这会改变
  • 但是,最大的缺点是日志和复制基本上是No-Gos,因为进一步限制了可以存储的数据量。没有日志转换为数据的有限持久性(除非您愿意通过使用相应的写入问题强制数据与每个写入同步到磁盘),而缺少复制和由此导致的故障切换功能缺少的可能性较小对Raspi的担忧。

MongoDB公司强烈建议不要将32位版本用于测试目的。他们这样做是有原因的。就我个人而言,我生成的测试数据远远超过了32位版本的限制。

所以是的,它应该是技术上可行的(甚至没有包:编译MongoDB不是火箭科学)。这是个好主意吗?好吧,如果你问我,不是那么重要。

+0

感谢您的解释良好的答案。限制是很高的,但它是为了测试的目的,我使用mongodb,因为,我的fontend应用程序编写的反应,我需要检索JSON文件来呈现组件与数据,我认为mongodb是最适合的,而不是像ORM使用MySQL像sequelize。这是一个使用套接字io客户端频繁在数据库中写入并在Web浏览器重新加载时检索消息的聊天应用程序。 Redis不适合我不知道将存储多少数据。你会用什么数据库在树莓派上?在购买迷你PC之前,我使用树莓派测试我的应用程序 – Aaleks

+1

不要使用数据库进行集成,而是使用Linux套接字代替发送基于协议1缓冲区的消息。回到根源!如果你不需要DBMS服务器,SQLite工作得非常好,而且资源友好。 –

+0

感谢您的建议,我会更详细地查看Linux套接字。对于SQLite我种子,它不处理并发。所以在聊天应用程序中,我决定排除它。 使用与最终产品不同的数据库,您必须重写应用程序并添加更多测试,因此我考虑了mongodb的限制,剩下的1Gb大小足以让我进行测试。关于日志记录,我看到mongo要求操作系统刷新内存中的更改。所以我会做一些备份抛出sh数据损坏。再次感谢您的建议,下次我会在购买便宜的产品之前检查os /架构。 – Aaleks

3

我通过@博客中提到的http://www.clarenceho.net/2015/12/building-mongodb-30x-for-arm-armv7l.html的user3343399

笔者只是为了添加Arch Linux的ARM最新的MongoDB 3.2.0的建设似乎是工作的罚款。除了默认的存储引擎被编译为WiredTiger,虽然没有来自WiredTiger的32位支持。你将需要添加参数--storageEngine = mmapv1

+0

再次感谢您的博客真的很有帮助! – Aaleks

+1

AFAIK,MongoDB v3.2 v3开始使用SpiderMonkey引擎,所以我有一个问题:至于v3.2 +,没有更多的需要补丁的任何来源? – deksden