Я делаю первые шаги в марионетке. Я пытаюсь настроить амбари.
Это моя марионеточная конфигурация:
exec { "ambari-repo":
command => "curl http://public-repo-1.hortonworks.com/ambari/suse11/1.x/updates/1.4.4.23/ambari.repo > /etc/yum.repos.d/ambari.repo",
path => ["/usr/bin", "/usr/sbin"]
}
package {"ambari-server":
ensure => installed,
require => Exec["ambari-repo"]
}
file { "hadoop-dir":
path => "/hadoop",
ensure => "directory"
}
exec { "ambari-server-setup":
command => "ambari-server setup -s",
path => ["/usr/bin", "/usr/sbin"],
cwd => "/hadoop",
user => "root",
require => [Package["ambari-server"], File["hadoop-dir"]]
}
Но когда мой марионеточный сценарий запускается, он не работает:
Notice: Compiled catalog for localhost.be in environment production in 0.30 seconds
Notice: /Stage[main]/Main/File[hadoop-dir]/ensure: created
Notice: /Stage[main]/Main/Exec[ambari-repo]/returns: executed successfully
Notice: /Stage[main]/Main/Package[ambari-server]/ensure: created
Notice: Finished catalog run in 49.39 seconds
Stderr from the command:
Error: /usr/bin/env: bash: No such file or directory
Error: /Stage[main]/Main/Exec[ambari-server-setup]/returns: change from notrun to 0 failed: /usr/bin/env: bash: No such file or directory
Обратите внимание, что я использую марионетку с бродягой.
Есть идеи, что я делаю не так?
Спасибо
Для exec ambari-server-setup вы определяете путь, содержащий / usr / bin и / usr / sbin.
Скорее всего, у вас установлен двоичный файл bash как / bin / bash, поэтому вам также нужно будет включить / bin в этот путь.
Я подозреваю, что либо bash не установлен, либо его нет в пути по умолчанию.
Когда вы входите в систему на клиентском компьютере марионетки, каковы выходные данные:
which bash