Tag: 卡桑德拉

如何为包含模式的cassandra(或任何数据库)创buildDockerfile?

我想创build一个dockerfile,在图像开始的时候,已经在那里build立一个Cassandra图像,其中有一个keyspace和schema。 一般来说,你如何创build一个Dockerfile来构build一个包含一些步骤的图像,至less在第一次运行时才能真正完成。 现在,我有两个步骤:从现有的cassandra Dockerfile构buildcassandra映像,将具有CQL架构文件的卷映射到临时目录中,然后运行docker exec和cqlsh以在映像启动后导入架构容器。 但是,这不会创build一个模式的图像 – 只是一个容器。 该容器可以保存为图像,但这很麻烦。 docker run –name $CASSANDRA_NAME -d \ -h $CASSANDRA_NAME \ -v $CASSANDRA_DATA_DIR:/data \ -v $CASSANDRA_DIR/target:/tmp/schema \ tobert/cassandra:2.1.7 然后 docker exec $CASSANDRA_NAME cqlsh -f /tmp/schema/create_keyspace.cql docker exec $CASSANDRA_NAME cqlsh -f /tmp/schema/schema01.cql # etc 这个工作,但它使得像Docker compose这样的工具无法使用,因为链接的容器/服务也将启动,并期望模式到位。 我看到一个尝试,cassandra进程试图在Dockerfile的背景下在build中运行,然后运行cqlsh,但是我觉得这样做不太好。

Docker内部的Cassandra

我打算使用docker容器部署几个cassandra节点。 如果每个节点都在一个单独的docker容器中,我还可以用这些节点构build一个集群吗? 我想我可能会遇到很多问题,因为打开所有必要的端口可能会很困难,因为其中一些是随机的。

Docker + Cassandra ulimit错误

我正在尝试在Docker上启动一个cassandra(而不是dsc)服务器(ubuntu 14.04)。 当我运行service cassandra start (作为根),我得到 /etc/init.d/cassandra: 82: ulimit: error setting limit (Operation not permitted) 该文件的第82行是 ulimit -l unlimited 我不确定我需要改变它。

Docker容器重启,没有数据丢失

我正在使用Rancher作为编排工具。 我有一个单独的节点Cassandra安装在容器中,并希望重新启动它,因为我最近对configuration文件( cassandra.yaml )进行了一些更改。 数据库中已经有数据,所以想防止数据丢失。 我使用usman/docker-rancher-cassandra:3.1图像。 应该使用哪个命令来做到这一点?

docker在创buildcassandra集群时撰写问题

我正在做一个使用docker撰写cassandra集群的非常简单的例子。 在运行docker-compose之后,我可以看到2个cassandra容器被创build。 但是这些不是作为集群的一部分创build的。 因为当我进入一个容器并运行“nodetool describecluster”时,它只显示一个ip。 这是我正在使用的docker-compose.yml。 请帮我找出我做错了什么。 我已经花了很多时间来检查日志和搞清楚了。 cass0: 图片:cassandra:3.9 端口: – “9042:9042” – “9160:9160” CASS1: 图片:cassandra:3.9 链接: – cass0:种子 环境: 种子:种子 这是nodetool群集输出: 集群信息: 名称:testing集群 Snitch:org.apache.cassandra.locator.DynamicEndpointSnitch 分区程序:org.apache.cassandra.dht.Murmur3Partitioner 架构版本: 86afa796-d883-3932-aa73-6b017cef0d19:[172.17.0.3] 提前致谢。