我试图在Docker中运行Cassandra。以前这很好(不幸的是我使用latest
图像)。现在,当我用不同的版本运行compose时,它永远不会成功。有时我在日志中看到创业公司竞争,有时现在。每次都是cassandra exited with code 137
。我在日志中找不到错误。我如何诊断问题?
这是我的撰写文件。我尝试在3.0.24
,3.11
,4
和4.0.1
版本之间切换,没有运气。
version: '3'
services:
cassandra:
image: cassandra:3.0.24
container_name: cassandra
ports:
- '7000:7000'
- '9042:9042'
- '9142:9142'
volumes:
- ./cassandra/cassandra-data:/var/lib/cassandra
environment:
- CASSANDRA_SEEDS=cassandra
- CASSANDRA_PASSWORD_SEEDER=yes
- CASSANDRA_PASSWORD=cassandra
networks:
- default-dev-network
networks:
default-dev-network:
external: true
更新下面是一个日志示例。但是每次运行都不一样。
INFO 16:01:43 Node /172.18.0.5 state jump to NORMAL
INFO 16:01:43 Waiting for gossip to settle before accepting client requests...
INFO 16:01:51 No gossip backlog; proceeding
INFO 16:01:51 Netty using native Epoll event loop
INFO 16:01:51 Using Netty Version: [netty-buffer=netty-buffer-4.0.44.Final.452812a, netty-codec=netty-codec-4.0.44.Final.452812a, netty-codec-haproxy=netty-codec-haproxy-4.0.44.Final.452812a, netty-codec-http=netty-codec-http-4.0.44.Final.452812a, netty-codec-socks=netty-codec-socks-4.0.44.Final.452812a, netty-common=netty-common-4.0.44.Final.452812a, netty-handler=netty-handler-4.0.44.Final.452812a, netty-tcnative=netty-tcnative-1.1.33.Fork26.142ecbb, netty-transport=netty-transport-4.0.44.Final.452812a, netty-transport-native-epoll=netty-transport-native-epoll-4.0.44.Final.452812a, netty-transport-rxtx=netty-transport-rxtx-4.0.44.Final.452812a, netty-transport-sctp=netty-transport-sctp-4.0.44.Final.452812a, netty-transport-udt=netty-transport-udt-4.0.44.Final.452812a]
INFO 16:01:51 Starting listening for CQL clients on /0.0.0.0:9042 (unencrypted)...
INFO 16:01:51 Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
INFO 16:01:51 Startup complete
原因是内存或CPU问题。添加resources
后,它运行,但不是每次都运行。摆弄cpu和内存在某种程度上有帮助,但没有带来可靠的结果。
这是完整的撰写文件
version: '3'
services:
cassandra:
image: cassandra:3.0.24
container_name: cassandra
deploy:
replicas: 1
resources:
limits:
cpus: '2'
memory: 2G
ports:
- '7000:7000'
- '9042:9042'
- '9142:9142'
volumes:
- ./cassandra/cassandra-data:/var/lib/cassandra
environment:
- CASSANDRA_SEEDS=cassandra
- CASSANDRA_PASSWORD_SEEDER=yes
- CASSANDRA_PASSWORD=cassandra
networks:
- default-dev-network
networks:
default-dev-network:
external: true