我在docker环境下工作,并被执行 docker exec -it mycassandra cqlsh . 然后,我正在插入数据,并出现以下错误:writetimeout-服务器错误:代码=1100通过这个,它告诉我我需要找出 cassandra.yaml 文件和修改写入时间,但我不能在我的mac上找到。你能告诉我如何找到它以及如何修改文件吗?谢谢。
docker exec -it mycassandra cqlsh
cassandra.yaml
cld4siwp1#
对于那些安装了 brew install cassandra ,yaml文件将位于 usr/local/etc/cassandra
brew install cassandra
usr/local/etc/cassandra
icomxhvb2#
如果你是运行Cassandra的官方形象那么 cassandra.yaml 可在以下位置找到 /etc/cassandra/cassandra.yaml 在集装箱里。如果要创建自定义 cassandra.yaml 文件,然后您可以尝试在 Dockerfile 或者 docker-compose.yml 文件。例如,在我的 docker-compose.yml 我有这样的文件:
/etc/cassandra/cassandra.yaml
Dockerfile
docker-compose.yml
services: cassandra: image: cassandra:3.11.4 volumes: - ./cassandra.yaml:/etc/cassandra/cassandra.yaml
这导致了 cassandra.yaml 容器中的文件将被我的本地服务器覆盖 cassandra.yaml .我希望这有帮助。
fkaflof63#
从提供的示例来看,数据库似乎是从容器内部执行的。因此,您要查找的cassandra.yaml将在容器启动时根据您提供的配置动态创建。我们已经用kubernetes设置了cassandra容器,并根据这里找到的指令在docker中执行它们,并且能够在statefulset的配置中修改cassandra.yaml文件的设置,更新中的变量 env 容器的规格。例如,要修改种子列表、集群名称和名为 c-test-qa :
env
c-test-qa
apiVersion: apps/v1 kind: StatefulSet ... spec: serviceName: c-test-qa replicas: 1 selector: matchLabels: app: c-test-qa template: metadata: labels: app: c-test-qa spec: containers: - name: c-test-qa image: cassandra:3.11 imagePullPolicy: IfNotPresent ... env: - name: CASSANDRA_SEEDS value: c-test-qa-0.c-test-qa.qa.svc.cluster.local - name: CASSANDRA_CLUSTER_NAME value: "testqa" - name: CASSANDRA_RACK value: "DC1" - name: CASSANDRA_RACK value: "CustomRack1" ...
xu3bshqb4#
在macos上:可在以下任一位置找到:cassandra组件安装: /etc/cassandra cassandra tarball装置: install_location/conf datastax企业软件包安装: /etc/dse/cassandra datastax enterprise tarball安装: install_location/resources/cassandra/conf
/etc/cassandra
install_location/conf
/etc/dse/cassandra
install_location/resources/cassandra/conf
4条答案
按热度按时间cld4siwp1#
对于那些安装了
brew install cassandra
,yaml文件将位于usr/local/etc/cassandra
icomxhvb2#
如果你是运行Cassandra的官方形象那么
cassandra.yaml
可在以下位置找到/etc/cassandra/cassandra.yaml
在集装箱里。如果要创建自定义cassandra.yaml
文件,然后您可以尝试在Dockerfile
或者docker-compose.yml
文件。例如,在我的docker-compose.yml
我有这样的文件:这导致了
cassandra.yaml
容器中的文件将被我的本地服务器覆盖cassandra.yaml
.我希望这有帮助。
fkaflof63#
从提供的示例来看,数据库似乎是从容器内部执行的。因此,您要查找的cassandra.yaml将在容器启动时根据您提供的配置动态创建。
我们已经用kubernetes设置了cassandra容器,并根据这里找到的指令在docker中执行它们,并且能够在statefulset的配置中修改cassandra.yaml文件的设置,更新中的变量
env
容器的规格。例如,要修改种子列表、集群名称和名为
c-test-qa
:xu3bshqb4#
在macos上:
可在以下任一位置找到:
cassandra组件安装:
/etc/cassandra
cassandra tarball装置:install_location/conf
datastax企业软件包安装:/etc/dse/cassandra
datastax enterprise tarball安装:install_location/resources/cassandra/conf