1
votes

Où est l'emplacement cassandra.yaml sur le MAC?

Je travaille sur l'environnement docker et j'ai exécuté docker exec -it mycassandra cqlsh . Ensuite, j'insère les données et l'erreur suivante se produit:

WriteTimeout - Erreur du serveur: code = 1100

En ceci , cela me dit que je dois trouver sortez le document cassandra.yaml et modifiez l'heure d'écriture, mais je ne trouve pas cela sur mon MAC.

Pourriez-vous me dire comment puis-je le trouver et comment modifier le document? Merci.


0 commentaires

4 Réponses :


0
votes

D'après l'exemple fourni, il semble que la base de données soit exécutée depuis l'intérieur d'un conteneur. Ainsi, le cassandra.yaml que vous recherchez sera créé à la volée au démarrage du conteneur, en fonction de la configuration que vous avez fournie.

Nous avons défini Cassandra Containers avec Kubernetes, et les exécutons dans le docker, basé sur les instructions trouvées ici , et j'ai pu modifier les paramètres du cassandra.yaml dans la configuration du statefulset, en mettant à jour les variables dans env pour la spécification du conteneur.

Par exemple, pour modifier la liste de graines, le nom du cluster, et le rack du cluster C * nommé 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"
...


0 commentaires

2
votes

Si vous exécutez l'image officielle de cassandra, alors cassandra.yaml peut être trouvé à /etc/cassandra/cassandra.yaml dans le conteneur. Si vous souhaitez créer un fichier cassandra.yaml personnalisé, vous pouvez essayer de l'écraser dans votre fichier Dockerfile ou docker-compose.yml . Par exemple, dans mon fichier docker-compose.yml , j'ai quelque chose comme:

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

qui provoque le fichier cassandra.yaml dans le conteneur à écraser par mon cassandra.yaml local.

J'espère que cela vous aidera.


0 commentaires

0
votes

Sur MacOS:

Il se trouve dans l'un des emplacements ci-dessous:

  1. Installations du paquet Cassandra: /etc/cassandra

  2. Installations de l'archive tar Cassandra: install_location/conf

  3. Installations de packages DataStax Enterprise: /etc/dse/cassandra

  4. Installations de l'archive tar de DataStax Enterprise: install_location/resources/cassandra/conf


1 commentaires

avons-nous des packages pour Mac? ;-) La question concerne également l'emplacement du fichier dans l'image Docker ...



2
votes

pour ceux qui l'ont installé en tant que brew install cassandra , le fichier yaml sera situé dans usr/local/etc/cassandra


0 commentaires