mac上的cassandra.yaml位置在哪里?

wr98u20j  于 2021-06-10  发布在  Cassandra
关注(0)|答案(4)|浏览(790)

我在docker环境下工作,并被执行 docker exec -it mycassandra cqlsh . 然后,我正在插入数据,并出现以下错误:
writetimeout-服务器错误:代码=1100
通过这个,它告诉我我需要找出 cassandra.yaml 文件和修改写入时间,但我不能在我的mac上找到。
你能告诉我如何找到它以及如何修改文件吗?谢谢。

cld4siwp

cld4siwp1#

对于那些安装了 brew install cassandra ,yaml文件将位于 usr/local/etc/cassandra

icomxhvb

icomxhvb2#

如果你是运行Cassandra的官方形象那么 cassandra.yaml 可在以下位置找到 /etc/cassandra/cassandra.yaml 在集装箱里。如果要创建自定义 cassandra.yaml 文件,然后您可以尝试在 Dockerfile 或者 docker-compose.yml 文件。例如,在我的 docker-compose.yml 我有这样的文件:

services:
  cassandra:
    image: cassandra:3.11.4
    volumes:
    - ./cassandra.yaml:/etc/cassandra/cassandra.yaml

这导致了 cassandra.yaml 容器中的文件将被我的本地服务器覆盖 cassandra.yaml .
我希望这有帮助。

fkaflof6

fkaflof63#

从提供的示例来看,数据库似乎是从容器内部执行的。因此,您要查找的cassandra.yaml将在容器启动时根据您提供的配置动态创建。
我们已经用kubernetes设置了cassandra容器,并根据这里找到的指令在docker中执行它们,并且能够在statefulset的配置中修改cassandra.yaml文件的设置,更新中的变量 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"
...
xu3bshqb

xu3bshqb4#

在macos上:
可在以下任一位置找到:
cassandra组件安装: /etc/cassandra cassandra tarball装置: install_location/conf datastax企业软件包安装: /etc/dse/cassandra datastax enterprise tarball安装: install_location/resources/cassandra/conf

相关问题