简体   繁体   English

lmdb(Symas Lightning Memory-Mapped Database)无法在CentOS上运行

[英]lmdb(Symas Lightning Memory-Mapped Database) not working on CentOS

The lmdb code is obtained from the official git repo. lmdb代码是从官方git repo获得的。

https://gitorious.org/mdb https://gitorious.org/mdb

It is not working with my project with mdb_env_open returning code 38. 它不能与我的项目一起使用mdb_env_open返回代码38。

The test code that comes with lmdb is not working either. lmdb附带的测试代码也不起作用。

The error code is also 38, the error message is "Function not implemented". 错误代码也是38,错误消息是“功能未实现”。

The same code compiled on ubuntu is working perfectly. 在ubuntu上编译的相同代码工作正常。

There are few documentation on lmdb, I can't even find what it means to get the return code 38, and there is no corresponding tag in stackoverflow. 关于lmdb的文档很少,我甚至无法找到获取返回码38的含义,并且stackoverflow中没有相应的标记。

Any experts out there? 那里有专家吗?

====================================================== ================================================== ====

I figure out that it is because of the NFS, moving the database to a local storage solved this problem. 我发现它是因为NFS,将数据库移动到本地存储解决了这个问题。 But is there any solution that I can use it in the NFS? 但有没有我可以在NFS中使用它的解决方案? The local storage space is too small. 本地存储空间太小。

From the front page of the docs: http://symas.com/mdb/doc/ 从文档的首页: http//symas.com/mdb/doc/

Do not use LMDB databases on remote filesystems, even between processes on the same host. 不要在远程文件系统上使用LMDB数据库,即使在同一主机上的进程之间也是如此。 This breaks flock() on some OSes, possibly memory map sync, and certainly sync between programs on different hosts. 这会破坏某些操作系统上的flock(),可能是内存映射同步,并且肯定会在不同主机上的程序之间进行同步。

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

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