cassandra-snapshotter:找不到

时间:2017-04-25 10:19:30

标签: python cassandra ansible

我使用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

1 个答案:

答案 0 :(得分:0)

pip在其自己的位置安装可执行文件。该位置可能不在搜索路径中。您可以在ansible中设置PATH环境变量并将其扩展为包含该位置,或者您可以手动执行“cassandra_snapshotter”'在命令行上,将完整路径放在ansible中的cassandra_snapshotter可执行文件中。

另外:我认为你没有使用任何贝壳' cassandra_snapshotter调用中的功能。在可能的情况下使用https://docs.ansible.com/ansible/command_module.html会更好。