Database MAC上的cassandra.yaml位置在哪里?

Database MAC上的cassandra.yaml位置在哪里?,database,cassandra,insert,Database,Cassandra,Insert,我在docker环境中工作,执行了docker exec-it mycassandra cqlsh。然后,我插入数据,它发生以下错误: 到,它告诉我需要找到cassandra.yaml文档并修改写入时间,但我在MAC上找不到 你能告诉我如何找到它以及如何修改文件吗? 谢谢。在提供的示例中,数据库似乎是从容器中执行的。因此,您正在寻找的cassandra.yaml将在容器启动时根据您提供的配置动态创建 我们已经使用Kubernetes设置了Cassandra容器,并根据找到的指令在docker中

我在docker环境中工作,执行了
docker exec-it mycassandra cqlsh
。然后,我插入数据,它发生以下错误:

到,它告诉我需要找到
cassandra.yaml
文档并修改写入时间,但我在MAC上找不到

你能告诉我如何找到它以及如何修改文件吗?
谢谢。

在提供的示例中,数据库似乎是从容器中执行的。因此,您正在寻找的cassandra.yaml将在容器启动时根据您提供的配置动态创建

我们已经使用Kubernetes设置了Cassandra容器,并根据找到的指令在docker中执行它们,并且能够在statefulset的配置中修改Cassandra.yaml文件的设置,更新容器规范的
env
中的变量

例如,要修改名为
C-test-qa
的C*群集的种子列表、群集名称和机架,请执行以下操作:

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"
...

从提供的示例来看,数据库似乎是从容器内部执行的。因此,您正在寻找的cassandra.yaml将在容器启动时根据您提供的配置动态创建

我们已经使用Kubernetes设置了Cassandra容器,并根据找到的指令在docker中执行它们,并且能够在statefulset的配置中修改Cassandra.yaml文件的设置,更新容器规范的
env
中的变量

例如,要修改名为
C-test-qa
的C*群集的种子列表、群集名称和机架,请执行以下操作:

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"
...

如果您正在运行正式的cassandra映像,则可以在容器中的
/etc/cassandra/cassandra.yaml
中找到
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
覆盖


我希望这会有所帮助。

如果您正在运行官方的cassandra映像,则可以在容器中的
/etc/cassandra/cassandra.yaml>中找到
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
覆盖

我希望这能有所帮助。

关于MacOS:

可在以下任一位置找到:

  • 卡桑德拉软件包安装:
    /etc/Cassandra

  • Cassandra tarball安装:
    安装位置/conf

  • DataStax企业软件包安装:
    /etc/dse/cassandra

  • DataStax企业tarball安装:
    install\u location/resources/cassandra/conf

  • 关于MacOS:

    可在以下任一位置找到:

  • 卡桑德拉软件包安装:
    /etc/Cassandra

  • Cassandra tarball安装:
    安装位置/conf

  • DataStax企业软件包安装:
    /etc/dse/cassandra

  • DataStax企业tarball安装:
    install\u location/resources/cassandra/conf


  • 对于以
    brew install cassandra
    安装的用户,yaml文件将位于
    usr/local/etc/cassandra
    对于以
    brew install cassandra
    安装的用户,yaml文件将位于
    usr/local/etc/cassandra
    我们是否有Mac软件包?;-)还有一个问题是关于文件在Docker映像中的位置……我们有Mac的软件包吗?;-)还有一个问题是关于文件在Docker图像中的位置…不是Meno的情况,不是我的情况