mesos-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Graczyk <gregor...@gmail.com>
Subject Re: Running mesos-slave in Docker container
Date Wed, 24 Sep 2014 07:53:55 GMT
I did enable verbose logging and it turns out mesos is prepending names of
it's docker containers with "mesos-". My mesos slave container also had
this prefix ("mesos-slave"), so when docker containerizer inside mesos
slave was starting it checks which containers managed by mesos should be
started. Of course mesos-slave wasn't managed by mesos, so docker
containerizer decided to kill that container, terminating itself.
When I change container name everything seems to be working just fine.

That's the command I'm running mesos slave right now:
docker run -d --name slave --privileged --net=host -v
/var/run/docker.sock:/var/run/docker.sock -v
/usr/local/bin/docker:/usr/local/bin/docker -v
/sys/fs/cgroup:/sys/fs/cgroup gregory90/mesos-slave
--containerizers=docker,mesos --master=zk://localhost:2181/mesos
--ip=127.0.0.1

Thanks for your help, really appreciate it!

On 23 September 2014 18:35, Tim Chen <tim@mesosphere.io> wrote:

> Hi Grzegorz,
>
> The log snippet you've pasted seems quite normal, can you enable verbose
> logging (add GLOG_v=1 before mesos-slave) and share it?
>
> Thanks,
>
> Tim
>
> On Tue, Sep 23, 2014 at 3:10 AM, Grzegorz Graczyk <gregory90@gmail.com>
> wrote:
>
>> Thanks for your response!
>>
>> Mounting /sys did the job, cgroups are working, but now mesos-slave is
>> just crushing after detecting new master or so (there's nothing useful in
>> the logs - is there a way to make them more verbose?)
>>
>> Last lines of logs from mesos-slave:
>> I0923 10:03:24.079859    10 detector.cpp:426] A new leading master (UPID=
>> master@127.0.0.1:5050) is detected
>> I0923 10:03:26.076053     9 slave.cpp:3195] Finished recovery
>> I0923 10:03:26.076505     9 slave.cpp:589] New master detected at
>> master@127.0.0.1:5050
>> I0923 10:03:26.076732     9 slave.cpp:625] No credentials provided.
>> Attempting to register without authentication
>> I0923 10:03:26.076812     9 slave.cpp:636] Detecting new master
>> I0923 10:03:26.076864     9 status_update_manager.cpp:167] New master
>> detected at master@127.0.0.1:5050
>>
>> There's no problem in running mesos-master in the container(at least
>> there wasn't any in my case, for now)
>>
>>
>>
>>
>> On 23 September 2014 09:41, Tim Chen <tim@mesosphere.io> wrote:
>>
>>> Hi Grzegorz,
>>>
>>> To run Mesos master|slave in a docker container is not straight forward
>>> because we utilize kernel features therefore you need to explicitly test
>>> out the features you like to use with Mesos with slave/master in Docker.
>>>
>>> Gabriel during the Mesosphere hackathon has got master and slave running
>>> in docker containers, and he can probably share his Dockerfile and run
>>> command.
>>>
>>> I believe one work around to get cgroups working with Docker run is to
>>> mount /sys into the container (mount -v /sys:/sys).
>>>
>>> Gabriel do you still have the command you used to run slave/master with
>>> Docker?
>>>
>>> Tim
>>>
>>>
>>>
>>> On Tue, Sep 23, 2014 at 12:24 AM, Grzegorz Graczyk <gregory90@gmail.com>
>>> wrote:
>>>
>>>> I'm trying to run mesos-slave inside Docker container, but it can't
>>>> start due to problem with mounting cgroups.
>>>>
>>>> I'm using:
>>>> Kernel Version: 3.13.0-32-generic
>>>> Operating System: Ubuntu 14.04.1 LTS
>>>> Docker: 1.2.0(commit fa7b24f)
>>>> Mesos: 0.20.0
>>>>
>>>> Following error appears:
>>>> I0923 07:11:20.921475    19 main.cpp:126] Build: 2014-08-22 05:04:26 by
>>>> root
>>>> I0923 07:11:20.921608    19 main.cpp:128] Version: 0.20.0
>>>> I0923 07:11:20.921620    19 main.cpp:131] Git tag: 0.20.0
>>>> I0923 07:11:20.921628    19 main.cpp:135] Git SHA:
>>>> f421ffdf8d32a8834b3a6ee483b5b59f65956497
>>>> Failed to create a containerizer: Could not create DockerContainerizer:
>>>> Failed to find a mounted cgroups hierarchy for the 'cpu' subsystem; you
>>>> probably need to mount cgroups manually!
>>>>
>>>> I'm running docker container with command:
>>>> docker run --name mesos-slave --privileged --net=host -v
>>>> /var/run/docker.sock:/var/run/docker.sock -v
>>>> /var/lib/docker:/var/lib/docker -v
>>>> /usr/local/bin/docker:/usr/local/bin/docker gregory90/mesos-slave
>>>> --containerizers=docker,mesos --master=zk://localhost:2181/mesos
>>>> --ip=127.0.0.1
>>>>
>>>> Everything is running on single machine.
>>>> Everything works as expected when mesos-slave is run outside docker
>>>> container.
>>>>
>>>> I'd appreciate some help.
>>>>
>>>
>>>
>>
>

Mime
View raw message