我正在尝试启动一个运行 cassandra 的 docker 镜像。我需要使用 thrift 与 cassandra 进行通信,但它看起来默认情况下已禁用。查看 cassandra 日志显示:
INFO 21:10:35 Not starting RPC server as requested.
Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
我的问题是:如何在启动这个 cassandra 容器时启用 thrift?
我试过设置各种环境变量都无济于事:
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
解决方法(以及仅启用此行为的后续自定义 Dockerfile)不再需要。
较新的 official Docker containers使用 -e
标志支持 CASSANDRA_START_RPC
环境变量。例如:
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
关于cassandra - 在 Cassandra Docker 中启用 Thrift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620494/