Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在已启动实例上使用EC2用户数据的MongoDB启动脚本_Mongodb_Amazon Ec2_User Data - Fatal编程技术网

在已启动实例上使用EC2用户数据的MongoDB启动脚本

在已启动实例上使用EC2用户数据的MongoDB启动脚本,mongodb,amazon-ec2,user-data,Mongodb,Amazon Ec2,User Data,我们在r4.xLarge EC2实例中运行了一个MongoDb。我只是发现,每当我们的实例关闭(出于任何原因)并重新启动时,mongo也不会启动 我们在EC2实例的用户数据部分添加了如下启动脚本 #!/bin/bash service mongod restart service mongod status 我们仍然看到与以前相同的行为,即命令没有执行,需要SSH到实例中来启动重启 有人能指出脚本中存在的任何问题,或提供有关这方面的任何具体见解吗 谢谢所以经过一点研究后,我发现由于我们在第

我们在r4.xLarge EC2实例中运行了一个MongoDb。我只是发现,每当我们的实例关闭(出于任何原因)并重新启动时,mongo也不会启动

我们在EC2实例的用户数据部分添加了如下启动脚本

#!/bin/bash

service mongod restart

service mongod status
我们仍然看到与以前相同的行为,即命令没有执行,需要SSH到实例中来启动重启

有人能指出脚本中存在的任何问题,或提供有关这方面的任何具体见解吗


谢谢

所以经过一点研究后,我发现由于我们在第一次启动实例时没有添加用户数据脚本,所以我不得不在#上方添加一个多部分脚本/bin/bash

脚本现在如下所示:

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
sudo service mongod restart
sudo service mongod status
这个故事的寓意是,如果您忘记在实例启动期间添加实例用户数据脚本,而事后又添加了,请在#的上方添加该部分/bin/bash

这是因为:

  • AWS使用
    mime multipart
    附加用户数据文件
  • 它还使用
    脚本用户,始终
    运行文件

因此,经过一番研究后,我发现由于我们在第一次启动实例时没有添加用户数据脚本,因此我不得不在#上方添加一个多部分脚本/bin/bash

脚本现在如下所示:

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
sudo service mongod restart
sudo service mongod status
这个故事的寓意是,如果您忘记在实例启动期间添加实例用户数据脚本,而事后又添加了,请在#的上方添加该部分/bin/bash

这是因为:

  • AWS使用
    mime multipart
    附加用户数据文件
  • 它还使用
    脚本用户,始终
    运行文件