エージェントのtmpディレクトリーの設定とセキュリティ保護
DataStaxエージェントは、JDK tmpdirに対する実行パーミッションを必要とします。noexecフラグを使用してtmpディレクトリーをマウントする前に、別の実行可能ディレクトリーにマップします。tmpディレクトリーにnoexecフラグが設定されている場合、エージェントは起動できません。
多くのエンタープライズ・セキュリティ・ポリシーでは、実行なし(noexec
)フラグを使用して/tmpディレクトリーをマウントすることが求められます。OpsCenterは、Jythonを使用してJVMを実行します。Jythonは、実行可能ファイルのコピー先となる一時ディレクトリーにアクセスする必要があります。JDKが起動するには実行可能ディレクトリーが必要であり、デフォルトでJDKは/tmpにマップされます。/tmpディレクトリーにnoexec
フラグが設定されている場合、エージェントは起動できません。
debまたはrpmパッケージによってインストールされたDataStaxエージェントは、デフォルトで、DSEと同じユーザーであるcassandra
として実行されます。エージェントを別のユーザーで実行している場合(tarボール・インストール)、「別のユーザーとしてエージェントを実行するためのパーミッションの設定」を参照してください。
デフォルトの一時ディレクトリーを別の(実行可能)ディレクトリーにマップし直して、エージェントのフル・アクセスを許可するようにそのパーミッションを変更します。OpsCenterとDataStaxエージェントの/tmpディレクトリーを安全にマウントするには、以下の手順に従います。
datastax-agent-env.sh
DataStaxエージェント環境のシェル・スクリプトdatastax-agent-env.shのデフォルトの場所は、インストールのタイプによって異なります。
- パッケージ・インストール:/etc/datastax-agent/datastax-agent-env.sh
- tarボール・インストール:install_location/agent/conf/datastax-agent-env.sh
手順
-
一時ディレクトリーを作成し、フル・アクセス権を
cassandra
ユーザーに付与します。 -
パスを指定して、datastax-agent-env.shファイルで新しい一時ディレクトリーをマップします。
-Djava.io.tmpdir
プロパティを新しい/tmpディレクトリのパスに設定します。JVM_OPTS="$JVM_OPTS -Xmx512M -Djava.io.tmpdir=/path/to/tmp/dir"
また、以下の例では、
-Xmx
プロパティを使用してエージェントの最大ヒープ・サイズを倍の512M
に変更しています。 - ファイルを保存し、エージェントを再起動します。