2015-10-09 29 views
5

ありがとうございます。私はCassandraのインストールに関するこのチュートリアルのステップ3で立ち往生しています:http://wiki.apache.org/cassandra/GettingStarted#Step_3:_Start_CassandraLinux UbuntuでCassandraのアクセス許可を設定する方法

このソフトウェアはrootとしてしか実行できません。 (これは架空のヘリコプターの騒音よりも叫んでいます)これはソフトウェアを実行するためのひどい方法のようです。

私の通常のユーザ、私は次のエラーを受け取るようカサンドラ・サーバを起動する:

1)15:46:00,147 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(/var/log/cassandra/system.log,true) call failed. java.io.FileNotFoundException: /var/log/cassandra/system.log (Permission denied)

2)ERROR 20:46:00 Doesn't have write permissions for /var/lib/cassandra/data directory

私は権限を数回変更しようと、何も働いていません。オペレーティングシステム(OS)上のcassandraグループの読み取り/書き込みのアクセス許可を/var/log/cassandra/system.logに変更しようとしました。私がこれをするのに使ったコマンドは、sudo chmod 664 /var/log/cassandra/system.logでした。このページは、権限を変更する方法を決定する際に役立ちます。http://www.linux.org/threads/file-permissions-chmod.4094/

次に、ユーザ名をcassandraグループに追加しました。私の理解から、/usr/sbin/cassandra -fコマンドを自分のユーザとして実行すると、/var/log/cassandra/system.logファイルにアクセスできるようになります。このファイルは上記のエラー番号1を解決します。

謹んで、

ユーザー

答えて

6

解決策が見つかりました。私はsudo -u cassandra /usr/sbin/cassandra -fを実行し、彼の答えでcommitlogディレクトリPhact言及で問題に遭遇しました。私はPhactの再帰的なchownコマンドsudo chown -R cassandra:cassandra /var/lib/cassandra/commitlogを実行し、rootユーザーとしてプログラムを実行していたのと同じようにCassandraサーバーを正しく起動しました。 :D:D:D

8

あなたはデータやcommitlogのdirsに権限をしたいユーザーを与えます。

sudo chown -R cassandra:cassandra /var/lib/cassandra/data 


sudo chown -R cassandra:cassandra /var/lib/cassandra/commitlog 
+0

これらのものはすでに 'cassandra'ユーザが所有していますが、通常のユーザとしてcassandraプログラムを実行しようとしています。私のオペレーティングシステムで' foo'と言うことができます。私は '/ var/log/cassandra/system.log'のアクセス権を'/var/lib/cassandra/commitlog'ではなく変更しようとしていました。 – user3870315

+0

Cassandraを通常のユーザーとして実行したいのはなぜですか? – phact

+0

ユーザーはすべてのファイルにアクセスする必要があります – phact

関連する問題