我使用pip install cassandra_snapshotter
安装了cassandra snapshotter。如果我使用命令
sudo cassandra-snapshotter --s3-bucket-name=vivek-bucket
--s3-base-path=cassandra --aws-access-key-id=XXXX --aws-secret-access-key=XXX backup --hosts=172.31.2.85 --user ubuntu
--sshkey=/home/ubuntu/XXXX.pem --cassandra-conf-path=/etc/dse/cassandra --use-sudo=yes --new-snapshot
当我用ansible尝试相同的命令时,它以错误结束
"开始":" 2017-04-25 10:02:39.111333", " stderr":" / bin / sh:1:cassandra-snapshotter:not found", " stderr_lines":[ " / bin / sh:1:cassandra-snapshotter:not found" ]
- name: snapshot and backup
hosts: localhost
connection: local
become: yes
tasks:
- name: taking snapshot
shell: cassandra-snapshotter --s3-bucket-name=vivek-bucket --s3-base-path=cassandra --aws-access-key-id=XXXX --aws-secret-access-key=XXX backup --hosts=172.31.2.85 --user ubuntu --sshkey=/home/ubuntu/XXXX.pem --cassandra-conf-path=/etc/dse/cassandra --use-sudo=yes --new-snapshot
答案 0 :(得分:0)
pip在其自己的位置安装可执行文件。该位置可能不在搜索路径中。您可以在ansible中设置PATH环境变量并将其扩展为包含该位置,或者您可以手动执行“cassandra_snapshotter”'在命令行上,将完整路径放在ansible中的cassandra_snapshotter可执行文件中。
另外:我认为你没有使用任何贝壳' cassandra_snapshotter调用中的功能。在可能的情况下使用https://docs.ansible.com/ansible/command_module.html会更好。