我有下面的cassandra-compose.yml文件,我正在尝试使用以下命令在docker swarm上进行部署。
docker stack deploy --compose-file=cassandra-compose.yml cassandra-service
问题:-
正在创建服务,但没有副本正在运行。当我检查该问题时,我发现这是因为安装的文件夹即。 〜/ user / cassandraBackup不存在,这就是为什么容器未启动的原因。
我尝试使用docker-compose运行它,并成功执行。 有人可以告诉我如何使用stack-deploy
运行它吗Cassandra-compose.yml:-
version: '3.1'
services:
multinode:
image: cassandra:3.9
deploy:
replicas: 2
volumes:
- ~/user/cassandraBackup/:/var/lib/cassandra/data
ports:
- 7000:7000
- 7001:7001
- 7199:7199
- 9042:9042
- 9160:9160
答案 0 :(得分:1)
尝试使用此命令:-
EIGEN_MALLOC_ALREADY_ALIGNED
它将解决您的问题
答案 1 :(得分:0)
从这个答案https://stackoverflow.com/a/48972713/2138959:
如果您将主机路径绑定安装到服务的容器中,则该路径必须存在于每个群集节点上。 Docker群模式调度程序可以在满足资源可用性要求并满足您指定的所有约束和放置首选项的任何机器上调度容器。
因此,您必须确保该路径可用于计划任务的群集中的每个节点。但是即使采用这种方法,也可以将容器调度到没有数据或数据已过时的节点。因此,最好将服务固定到具体节点。