【问题标题】:Where is the cassandra.yaml location on the MAC?MAC 上的 cassandra.yaml 位置在哪里?
【发布时间】:2019-09-11 02:22:05
【问题描述】:

我在 docker 环境下工作,并执行了docker exec -it mycassandra cqlsh。然后,我正在插入数据,并且出现以下错误:

WriteTimeout - Error from server: code=1100

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

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

【问题讨论】:

    标签: database cassandra insert


    【解决方案1】:

    对于安装为brew install cassandra的用户,yaml文件将位于usr/local/etc/cassandra

    【讨论】:

      【解决方案2】:

      如果您正在运行官方 cassandra 映像,则可以在容器中的 /etc/cassandra/cassandra.yaml 找到 cassandra.yaml。如果你想创建一个自定义的cassandra.yaml 文件,那么你可以尝试在你的Dockerfiledocker-compose.yml 文件中覆盖它。例如,在我的 docker-compose.yml 文件中,我有类似的内容:

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

      这会导致容器中的cassandra.yaml 文件被我的本地cassandra.yaml 覆盖。

      我希望这会有所帮助。

      【讨论】:

        【解决方案3】:

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

        我们已经在 Kubernetes 中设置了 Cassandra Containers,并在 docker 中执行它们,根据找到的指令here,并且能够在 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"
        ...
        

        【讨论】:

          【解决方案4】:

          在 MacOS 上:

          它可以在以下任一位置找到:

          1. Cassandra 软件包安装:/etc/cassandra

          2. Cassandra tarball 安装:install_location/conf

          3. DataStax Enterprise 软件包安装:/etc/dse/cassandra

          4. DataStax Enterprise tarball 安装:install_location/resources/cassandra/conf

          【讨论】:

          • 我们有适用于 Mac 的软件包吗? ;-) 另外问题是关于 Docker 映像中文件的位置...
          猜你喜欢
          • 2011-04-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-29
          • 2023-03-12
          • 2016-05-16
          • 1970-01-01
          • 2016-02-24
          相关资源
          最近更新 更多