2017-04-25 1 views
0

私はpip install cassandra_snapshotterを使ってcassandra snapshotterをインストールしました。私はそれが誤りcassandra-snapshotter:見つからない

で終わるansibleと同じコマンドを試してみましたコマンド

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 

と、端末上で実行する場合は、「スタート」細かい作業だ:「2017年4月25日10:02:39.111333を」 "stderrの": "/ binに/ SH:1:カサンドラ-snapshotter:見つかりません"、 "stderr_lines":[ "/ binに/ SH:1:カサンドラ-snapshotter:見つかりません" ]


- 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

pipは、それ自身の場所に実行ファイルをインストールします。その場所はおそらく検索パスにはありません。あなたはPATH環境変数を設定して、その場所を含むように拡張するか、コマンドラインで手動で 'which cassandra_snapshotter'を実行して、あなたの実行可能ファイルのcassandra_snapshotter実行可能ファイルへのフルパスを入れることができます。

また、私はあなたがそのcassandra_snapshotterコールで「シェル」機能を使用しているとは思わないでしょう。可能であればhttps://docs.ansible.com/ansible/command_module.htmlを使用する方が良いでしょう。

+0

私もそれを試しました。 /home/ubuntu/.local/binにあります。これを実行可能ファイルに与えると、アクセス権が拒否されます。しかし、私はsudoモードで実行しています。 –

+0

コマンドは "[Errno 2] No such file or directory"を実行ファイルなしで指定したため、シェルを使用しました。コマンドに変更して実行可能ファイルを追加した後でさえ、いくつかの許可は拒否されます。あなたはこの許可が拒否されたときに私を助けることができますか?@Bernd –

+0

よく偶数のルートは、ファイルのアクセス権を設定する必要があります。私はなぜそれがそのホームディレクトリにあるのか分からないが、私の推測では、あなたが 'pip installand cassandra_snapshotter'をユーザのubuntuとしてやっていてpip(最近)が進み、ユーザのホームディレクトリにpkgをインストールするだけです。これは、ルートユーザーのパスに含まれていない理由も説明します。 – Bernd

関連する問題