在Cassandra Docker中启用Thrift [英] Enable Thrift in Cassandra Docker
问题描述
我正在尝试启动一个运行cassandra的docker镜像。我需要使用节俭与cassandra进行通信,但默认情况下它似乎已被禁用。检出cassandra日志显示:
I'm trying to start up a docker image that runs cassandra. I need to use thrift to communicate with cassandra, but it looks like that's disabled by default. Checking out the cassandra logs shows:
INFO 21:10:35 Not starting RPC server as requested.
Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
我的问题是:启动此cassandra容器时如何启用节俭?
My question is: how can I enable thrift when starting this cassandra container?
我尝试将各种环境变量设置为无效:
I've tried to set various environment variables to no avail:
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
推荐答案
我在Docker Cassandra映像中遇到了同样的问题。您可以在 Github 或 Docker中心,而不是默认的Cassandra映像。
I've been having the same problem with the Docker Cassandra image. You can use my docker container on Github or on Docker hub instead of the default Cassandra image.
问题是cassandra.yaml文件的start_rpc设置为false。我们需要改变这一点。为此,我们可以使用以下Dockerfile(这就是我的映像的作用):
The problem is that the cassandra.yaml file has start_rpc set to false. We need to change that. To do that we can use the following Dockerfile (which is what my image does):
FROM cassandra
RUN sed -i 's/^start_rpc.*$/start_rpc: true/' /etc/cassandra/cassandra.yaml
这篇关于在Cassandra Docker中启用Thrift的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!