首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vagrant + Mesos : /etc/mesos/zk不变

Vagrant + Mesos : /etc/mesos/zk不变
EN

Stack Overflow用户
提问于 2016-03-24 21:17:53
回答 2查看 106关注 0票数 1

我正试着用流浪汉来自动化我的mesos集群(所以没有厨师,木偶,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变量用错了,但我想不通了。这是我的Vagrantfile的(相关部分):

代码语言:javascript
复制
# -*- 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

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2016-03-25 01:21:51

如果替换docker run执行的cmd,则会禁用默认命令。因此,您必须使它成为一个复合命令(与;&&连接),它也执行默认命令所做的事情。

也就是说,您可能应该使用中间层对接图像(https://hub.docker.com/r/mesosphere/mesos-masterhttps://hub.docker.com/r/mesosphere/mesos-slave),而不是不推荐使用的中云图像。

票数 2
EN

Stack Overflow用户

发布于 2016-03-26 22:22:53

如果你想要一个预配置的Vagrant解决方案(可以调整),可以看看tobilg/coreos-mesos-cluster

默认情况下,这将启动一个包含ZooKeeper、Mesos Master& Slaves和Marathon的3节点CoreOS集群。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36201170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档