使用ansible unarchive会创建未按预期工作的对象
这是我的任务。它基本上将文件解压缩到dest目录/usr/local/hadoop中 hadoop文件夹不在那里,我得到了这个错误- 错误:-使用ansible unarchive会创建未按预期工作的对象,ansible,Ansible,这是我的任务。它基本上将文件解压缩到dest目录/usr/local/hadoop中 hadoop文件夹不在那里,我得到了这个错误- 错误:- fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "dest 'dest=/usr/local/ creates=/usr/local/hadoop copy=no' must be an existing dir"} - name: Unarch
fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "dest 'dest=/usr/local/ creates=/usr/local/hadoop copy=no' must be an existing dir"}
- name: Unarchive a file
unarchive:
src: /home/hduser/hadoop-2.7.1.tar.gz
dest: dest=/usr/local/ creates=/usr/local/hadoop copy=no
remote_src: yes
您的任务有一些语法问题。您不能将遗留
key=value
语法与YAML语法结合使用。特别是这一行
dest: dest=/usr/local/ creates=/usr/local/hadoop copy=no
…只是将一个很长的字符串传递给dest
键。你想要:
- name: Unarchive a file
unarchive:
src: /home/hduser/hadoop-2.7.1.tar.gz
dest: /usr/local/
creates: /usr/local/hadoop
copy: no
remote_src: yes
谢谢,成功了。更改后,文件将被提取并复制到文件夹hadoop-2.7.1中,而不是hadoop中。它不应该创建文件夹“hadoop”并将其解压缩。它将简单地取消归档
/home/hduser/hadoop-2.7.1.tar.gz
的内容。如果其中包含一个hadoop-2.7.1
,那么您将得到它。