全新安装时出现 Meteor 投掷错误 "Unexpected mongo exit code null. Restarting."

Meteor throwing error on fresh install "Unexpected mongo exit code null. Restarting."

我正在全新 ubuntu 安装中设置 plex 请求服务器 (https://github.com/lokenx/plexrequests-meteor/blob/master/README.md)。

我首先下载了 meteor curl https://install.meteor.com/ | sh,它似乎没有任何问题。然后我从该目录中克隆了 plex-requests 项目和 运行 meteor

这是生成的错误:

plex@johnpc:/home/plex/plexrequests-meteor$ meteor
[[[[[ /home/plex/plexrequests-meteor ]]]]]

=> Started proxy.
=> Started MongoDB.
Unexpected mongo exit code null. Restarting.

/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/fibers/future.js:245
                        throw(ex);
                              ^
Error: spawn ENOMEM
  at errnoException (child_process.js:1011:11)
  at ChildProcess.spawn (child_process.js:958:11)
  at Object.exports.spawn (child_process.js:746:9)
  at spawnMongod (/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/tools/runners/run-mongo.js:39:24)
  at launchOneMongoAndWaitForReadyForInitiate (/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/tools/runners/run-mongo.js:426:12)
  at launchMongo (/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/tools/runners/run-mongo.js:610:7)
  at [object Object]._.extend._startOrRestart (/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/tools/runners/run-mongo.js:704:19)
  at [object Object].<anonymous> (/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/tools/runners/run-mongo.js:762:14)
  at runWithEnvironment (/var/lib/plexmediaserver/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/tools/utils/fiber-helpers.js:143:21)

我想知道是否还缺少其他一些依赖项,或者还有什么可能导致此问题。我的猜测是这可能是某种权限问题,因为我已经 运行 进入了该服务器上已有的少数几个,但我不确定在哪里。似乎权限在引发错误的目录上是正确的。

plex@johnpc:/home/plex/plexrequests-meteor$ ls -al /var/lib/plexmediaserver
total 40
drwxr-xr-x  8 plex plex 4096 Nov 29 17:31 .
drwxr-xr-x 45 root root 4096 Nov 29 19:28 ..
drwx------  2 plex plex 4096 Nov 28 22:33 .cache
drwxrwxr-x  3 plex plex 4096 Nov 29 17:10 .cordova
drwxrwxr-x  3 plex plex 4096 Nov 28 21:26 Library
drwxr-xr-x  4 plex plex 4096 Oct 26 20:16 .meteor
-rw-------  1 plex plex   90 Nov 29 17:31 .meteorsession
drwxrwxr-x 11 plex plex 4096 Nov 29 17:31 .npm
drwxrwxr-x  3 plex plex 4096 Nov 29 19:34 .s3ql
-rw-------  1 plex plex  638 Nov 29 17:17 .viminfo

另一个问题可能是我缺少依赖项 - 我安装了 mongo 以查看是否可以解决问题,但它似乎一直存在。我尝试了建议的解决方案 here,通过设置 lang env 变量和重置流星,没有解决问题。想法?

下面显示的系统在我的 macbook pro 上运行完美,但是一旦我尝试在我的新 ubuntu (Ubuntu 14.04 x64) 盒子上重新创建它,这个问题就出现了。

另一种可能性是这可能与内存有关。当内存 运行 耗尽时,我看到有人在网上与流星作斗争。我好像没有遇到这种情况,但如果我对此有误,请纠正我。

免费:

/home/plex/plexrequests-meteor master  83s
# ❯ free -m
             total       used       free     shared    buffers     cached
Mem:           490        225        264          0          7         50
-/+ buffers/cache:        168        322
Swap:            0          0          0

/proc/meminfo:

# ❯ cat /proc/meminfo
MemTotal:         501800 kB
MemFree:          269708 kB
Buffers:            8004 kB
Cached:            51856 kB
SwapCached:            0 kB
Active:           147216 kB
Inactive:          48484 kB
Active(anon):     135940 kB
Inactive(anon):      260 kB
Active(file):      11276 kB
Inactive(file):    48224 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        135880 kB
Mapped:            13188 kB
Shmem:               348 kB
Slab:              18584 kB
SReclaimable:       9436 kB
SUnreclaim:         9148 kB
KernelStack:        1208 kB
PageTables:         5264 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      250900 kB
Committed_AS:     876812 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        7892 kB
VmallocChunk:   34359722172 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       32760 kB
DirectMap2M:      491520 kB
DirectMap1G:           0 kB

根据我使用 cloud9 的经验,它有 768MB 的内存,在 meteor 运行ning 几分钟并且内存已满后,我会得到完全相同的异常。

如果您想使用 meteor 进行开发,您需要的 RAM 比您可用的要多得多。如果您只想 运行 它,您可以构建应用程序并将其 运行 作为一个简单的节点应用程序,但这并不包含 MongoDB,您需要添加额外的。