Mongodb启动问题
我遇到了mongodb启动的问题。 我的厨师报告中有以下代码:Mongodb启动问题,mongodb,chef-infra,chef-recipe,Mongodb,Chef Infra,Chef Recipe,我遇到了mongodb启动的问题。 我的厨师报告中有以下代码: cookbook_file "/etc/yum.repos.d/mongodb-org-4.2.repo" do source 'mongodb-org-4.2.repo' owner 'root' group 'root' mode 00644 end yum_package 'mongodb-org' do action :install version '4.2.3-1.amzn2' end unl
cookbook_file "/etc/yum.repos.d/mongodb-org-4.2.repo" do
source 'mongodb-org-4.2.repo'
owner 'root'
group 'root'
mode 00644
end
yum_package 'mongodb-org' do
action :install
version '4.2.3-1.amzn2'
end
unless node['env']['is_dev']
execute 'open mongo port' do
command 'semanage port -a -t mongod_port_t -p tcp 27017'
action :run
end
end
Mongodb失败,出现以下错误:
================================================================================
Error executing action `run` on resource 'execute[open mongo port]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of semanage port -a -t mongod_port_t -p tcp 27017 ----
STDOUT:
STDERR: ValueError: Port tcp/27017 already defined
---- End output of semanage port -a -t mongod_port_t -p tcp 27017 ----
Ran semanage port -a -t mongod_port_t -p tcp 27017 returned 1
Resource Declaration:
---------------------
# In /var/chef/local-mode-cache/cache/cookbooks/spinnaker-edda/recipes/install.rb
51: execute 'open mongo port' do
52: command 'semanage port -a -t mongod_port_t -p tcp 27017'
53: action :run
54: end
55: end
有人能帮我理解这里出了什么问题吗?
我从文档中读到mongodb的默认端口是27017。但我不知道它为什么抱怨。
我也尝试过使用
-m
而不是-a
,但问题依然存在。非常感谢您的帮助 如果不严格要求手动在目标上执行shell命令,请尽量避免,但应始终首先查找一些在复杂的不同案例研究中提供所需功能的可用有效食谱。
对于您的场景,您可以使用selinux_策略食谱(请参阅)
使用该手册,您可以按如下方式打开mongo端口:
selinux_policy_permissive 27017 do
action :add
end
关于您的问题,它说端口tcp/27017已经定义
,因此它意味着如果端口在selinux上已经定义,那么您的指令不是幂等的。所以,使用我建议的食谱,你应该解决这个问题,因为在这个场景中它可能是幂等的