【问题标题】:How can we check if our mongodb is running on EC2 linux server?我们如何检查我们的 mongodb 是否在 EC2 linux 服务器上运行?
【发布时间】:2017-10-24 16:36:52
【问题描述】:

我已经在 EC2 Linux 实例上安装并启动了 MongoDB。如何验证它是否正在运行?

我知道如何验证它是否启动的一种方法是:

通过检查/var/log/mongodb/mongod.log 处的文件内容以获取以下内容:[initandlisten] waiting for connections on port 我没有得到。

还有哪些检查方法?

【问题讨论】:

    标签: linux mongodb amazon-web-services amazon-ec2


    【解决方案1】:

    您可以检查是否使用Mongoclient 等第三方工具来检查您是否能够连接您的数据库。或使用以下方法之一:

    检查正在运行的进程:

    ps -efl | grep mongo
    

    ps -efl 返回当前系统上正在运行的进程列表,您可以使用管道和 grep 仅选择所需的进程,在这种情况下为 mongo。

    这应该返回类似:

    1 S sandsto+  6997  6992  0  80   0 - 193376 -     May22 ?        00:13:27 /bin/mongod --fork --bind_ip 127.0.0.1 --port 6081 --dbpath /var/mongo --logpath /var/log/mongo.log --pidfilepath /var/pid/mongo.pid --auth --nohttpinterface --noprealloc --nopreallocj --smallfiles --replSet ssrs --oplogSize 16
    0 S sercan    8857  8827  0  80   0 - 85041 -      May22 ?        00:20:58 mongod --storageEngine=wiredTiger
    0 S sercan   29511 29471  2  80   0 - 67236 futex_ 13:41 pts/21   00:00:00 ./mongod --dbpath /home/sercan/mongo_data/
    0 S sercan   29547 29529  0  80   0 -  3907 pipe_w 13:41 pts/22   00:00:00 grep --color=auto mongo
    

    您可以看到这里有一个脚本 ./mongod 现在正在运行。

    您可以使用以下命令检查系统正在使用的端口:

    netstat -an | grep 27017
    

    netstat -an 返回当前系统中所有分配的端口,如果你知道你的 mongodb 的端口,你可以很容易地从这里获取它。这将返回:

    unix  2      [ ACC ]     STREAM     LISTENING     4184968  /tmp/mongodb-27017.sock
    

    如果您在此处看到 LISTENING,则表示它当前正在工作。

    但最好的方法是将 mongodb 添加到系统服务管理器中,例如 supervisord,因此您可以简单地检查您的 mongod 是否正在使用单个命令运行:

    sudo supervisorctl status
    

    附言supervisor只是一个例子,linux中有很多进程管理器可以使用,甚至mongodb文档都有解释。

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      相关资源
      最近更新 更多