Cassandraを実行するDockerイメージを起動しようとしています。 cassandraと通信するにはthriftを使用する必要がありますが、デフォルトでは無効になっているようです。 cassandraログをチェックアウトすると、次のことがわかります。
INFO 21:10:35 Not starting RPC server as requested.
Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
私の質問は、このcassandraコンテナを開始するときに節約を有効にするにはどうすればよいですか?
私はさまざまな環境変数を役に立たないように設定しようとしました:
docker run --name cs1 -d -e "start_rpc=true" cassandra
docker run --name cs1 -d -e "CASSANDRA_START_RPC=true" cassandra
docker run --name cs1 -d -e "enablethrift=true" cassandra
sed
回避策(およびこの動作のみを有効にする後続のカスタムDockerfiles)は不要になりました。
新しい 公式DockerコンテナCASSANDRA_START_RPC
フラグを使用して-e
環境変数をサポートします。例えば:
docker run --name cassandra1 -d -e CASSANDRA_START_RPC=true -p 9160:9160 -p 9042:9042 -p 7199:7199 -p 7001:7001 -p 7000:7000 cassandra
run
コマンドを使用してthriftクライアントAPIポートを公開し、次のように外部からコンテナーにアクセスできるようにすることを忘れないでください。
docker run --name cs1 -d .... -p 9160:9160 cassandra
また、CQLポート9042、JMXのポート7199、ノード間通信のポート7000および7001など、より多くのポートを公開することもできます。