我是Ansible和CDH的新手,想学习使用Hadoop和Ansible。我已经在本地计算机上安装了CDH,并希望从ansible yml文件访问它。我只是想先运行docker镜像:
---
- hosts: edge
remote_user: user
tasks:
- name: testing cloudera
command: sudo docker run --hostname=cloudera_host --privileged=true -t -p cloudera_port image_id /usr/bin/docker-quickstart
...
在我的清单文件中,我已定义:
all:
hosts:
edge:
ansible_host: 127.0.0.1
cloudera_quickstart_host: 172.17.0.2
当我使用此清单文件运行.yml文件时,它在任务处停止并且没有完成。
TASK [testing cloudera] **************************************************************************************************************************
谁能解释我在做什么错?
[您缺少-d
中的-d
,这会导致docker等待容器退出,然后无法等待直到该docker命令完成,然后再将控制权还给您的剧本,导致它似乎挂起了
具有讽刺意味的是,如果您使用了docker run
任务,由于docker_container:
是默认任务,所以它表现得很合理