2016-12-20 1 views
1

J'utilise Cassandra 3.9.Comment utiliser des volumes séparés pour le journal de validation et les données dans l'environnement EBS?

J'ai appris que je devais créer des volumes EBS séparés pour le journal de validation et les données lors de l'utilisation de Cassandra avec AWS.

Mon problème est comment?

Les suivants sont ce que j'ai fait et échoué.

  1. Les volumes créés pour le journal de validation et les données sur les instances de lancement.

enter image description here

  1. I fait les volumes EBS disponibles pour une utilisation en exécutant les commandes suivantes. (Vous pouvez trouver ces commandes here.)

    sudo mkfs -t ext4 /dev/xvdk 
    sudo mkfs -t ext4 /dev/xvdf 
    sudo mkdir /commitlog 
    sudo mkdir /data 
    sudo mount /dev/xvdk /commitlog 
    sudo mount /dev/xvdf /data 
    
  2. J'ai changé les répertoires pour la validation journal et les données dans cassandra.yaml.

    commitlog_directory: /commitlog 
    data_file_directories: /data 
    

Après toutes ces configurations fait, je courais cassandra mais je reçu un message d'erreur.

ERROR 20:49:22 Doesn't have write permissions for /data directory 
ERROR 20:49:22 Insufficient permissions on directory /data 

Donc, j'ai changé la propriété de ces deux répertoires.

sudo chown ubuntu:ubuntu /commitlog 
    sudo chown ubuntu:ubuntu /data 

J'ai réexécuté Cassandra. J'ai une autre erreur.

ERROR 20:52:44 Unable to verify sstable files on disk 

Que peut-on faire pour résoudre ce problème?

Répondre

1

Il s'est avéré que chaque processus que je prenais était bien. Le problème était que j'utilisais l'instance t2.micro en raison de l'avantage du niveau libre.

Une fois que j'ai mis à l'échelle chaque instance de t2.micro à C4.large, tout a bien fonctionné.

J'ai envisagé de supprimer ce post, mais j'ai décidé de le conserver car quelqu'un pourrait le trouver utile.