csc*_*can 12 thrift cassandra docker
我正在尝试启动运行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
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何在启动这个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
Run Code Online (Sandbox Code Playgroud)
Les*_*ood 26
的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 Code Online (Sandbox Code Playgroud)
Jim*_*Dev 15
我一直在使用Docker Cassandra图像遇到同样的问题.您可以在Github或Docker hub上使用我的docker容器,而不是默认的Cassandra映像.
问题是cassandra.yaml文件的start_rpc设置为false.我们需要改变这一点.为此,我们可以使用以下Dockerfile(这是我的图像所做的):
FROM cassandra
RUN sed -i 's/^start_rpc.*$/start_rpc: true/' /etc/cassandra/cassandra.yaml
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12132 次 |
最近记录: |