Назад | Перейти на главную страницу

Запуск марионетки на одной машине с использованием бродячего созданного кластера

Я создаю машину с четырьмя кластерами с Vagrant и инициализирую эти машины с помощью марионетки.

Я хочу найти способ, чтобы мои сценарии марионетки запускались только на отдельной машине. В настоящее время каждый марионеточный сценарий выполняется одинаково на каждой машине.

Вот мой Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.define "Greenplum setup"
  config.vm.box = "lucid64"

config.vm.provider :virtualbox do |v, override|
  override.vm.box_url = "http://files.vagrantup.com/lucid64.box"
  v.customize ["modifyvm", :id, "--memory", "256"]
end

config.vm.provision :puppet do |puppet|
  puppet.manifests_path = "manifests"
  puppet.manifest_file  = "base-hadoop.pp"
  puppet.module_path = "modules"
end

config.vm.define :smdw do |smdw_config|
  smdw_config.vm.network :private_network, ip: "192.168.2.11"
  smdw_config.vm.hostname = "smdw"
end

config.vm.define :sdw1 do |sdw1_config|
  sdw1_config.vm.network :private_network, ip: "192.168.2.12"
  sdw1_config.vm.hostname = "sdw1"
end

config.vm.define :sdw2 do |sdw2_config|
  sdw2_config.vm.network :private_network, ip: "192.168.2.13"
  sdw2_config.vm.hostname = "sdw2"
end

 config.vm.define :mdw do |mdw_config|
  mdw_config.vm.network :private_network, ip: "192.168.2.10"
  mdw_config.vm.hostname = "mdw"
end

end

Если вы переместите определение марионетки внутри блока для хоста, для которого вы хотите запустить марионетку, она будет работать только на этом хосте. Я использую аналогичный метод для определения кластера с марионеточным мастером и несколькими марионеточными агентами.

Вот быстрый пример, предполагающий, что это будет для вашего хоста smdw_config. Удалите строфу марионетки и измените строфу smdw_config, как показано ниже:

config.vm.define :smdw do |smdw_config|
  smdw_config.vm.network :private_network, ip: "192.168.2.11"
  smdw_config.vm.hostname = "smdw"
  smdw_config.vm.provision :puppet do |puppet|
    puppet.options        = '-d -v'
    puppet.manifests_path = "manifests"
    puppet.manifest_file  = "base-hadoop.pp"
    puppet.module_path = "modules"
  end
end

Кстати, я обычно добавляю к поставщикам параметры отладки и подробности, если они доступны.