我试图自动化我的mesos集群,只有流浪汉(所以没有厨师, puppet ,ansible或任何东西)。我现在拥有的vagrantfile没有修改/etc/mesos/zk。我试着把它和 cmd: "echo zk://192.168.3.2:2181,192.168.3.3:2181/mesos > /etc/mesos/zk"
以及 srv.vm.provision "shell", inline: "docker exec -t mesoscloud-mesos-master 'echo zk://192.168.3.2:2181,192.168.3.3:2181/mesos > /etc/mesos/zk"
但不是这些工作。也许mesosïzk变量用错了,但我没有主意了。这是我流浪者档案的(相关部分):
# -*- mode: ruby -*-
# vi: set ft=ruby :this
require 'fileutils'
require 'yaml'
servers = YAML.load_file('servers.yml')
$HOST_IP_1='192.168.3.2'
$HOST_IP_2='192.168.3.3'
Vagrant.configure(2) do |config|
config.ssh.insert_key = false
config.ssh.forward_agent = true
# config.vm.provision "docker"
servers.each do |server|
config.vm.define server["name"] do |srv|
srv.vm.box_check_update = false
srv.vm.hostname = server["name"]
srv.vm.box = "centos/7"
srv.vm.network "private_network", ip: server["priv_ip"]
srv.vm.network "public_network", bridge: "en2: Thunderbolt 1", ip: server["pub_ip"]
srv.vm.synced_folder ".", "/vagrant", disabled: true
if srv.vm.hostname == "melisandre"
# ZOOKEEPER
srv.vm.provision "docker" do |d|
d.run "mesoscloud/zookeeper",
args: "--net='host' -e SERVER_ID=1 -e ADDITIONAL_ZOOKEEPER_1=server.1=192.168.3.2:2888:3888 -e ADDITIONAL_ZOOKEEPER_2=server.2=192.168.3.3:2888:3888"
end
# MESOS-MASTER
srv.vm.provision "docker" do |d|
d.run "mesoscloud/mesos-master",
args: "--net='host' -p 5050:5050 -e MESOS_HOSTNAME=192.168.3.2 -e MESOS_IP=192.168.3.2 -e MESOS_ZK='zk://192.168.3.2:2181,192.178.3.3:2181/mesos' -e MESOS_PORT=5050 -e MESOS_LOG_DIR=/var/log/mesos -e MESOS_QUORUM=1 -e MESOS_REGISTRY=in_memory -e MESOS_WORK_DIR=/var/lib/mesos"#,cmd: "echo zk://192.168.3.2:2181,192.168.3.3:2181/mesos > /etc/mesos/zk"
end
提前谢谢
2条答案
按热度按时间hpcdzsge1#
如果你更换
cmd
的docker run
执行它会禁用默认命令。因此,您必须使其成为一个复合命令(与;
或者&&
)这也与默认命令相同。也就是说,你应该使用中层docker图像(https://hub.docker.com/r/mesosphere/mesos-master 以及https://hub.docker.com/r/mesosphere/mesos-slave)而不是不推荐的mesoscloud。
k5ifujac2#
如果您想要一个预配置的流浪者解决方案(可以进行调整),可以看看tobilg/coreos mesos集群。
默认情况下,这将启动一个带有zookeeper、mesos masters&slaves和marathon的3节点coreos集群。