Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
site:enseignement:master:bdle:tmes:kvstore [14/12/2017 11:08] hubert [Préparation] |
site:enseignement:master:bdle:tmes:kvstore [30/01/2019 09:53] hubert |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== TME KVStore ====== | + | {{indexmenu_n>65}} |
+ | |||
+ | ====== TME KVStore (facultatif) ====== | ||
+ | |||
+ | Ce TME est facultatif pour 2018-2019 | ||
L'objectif de ce TME est de prendre en main un système scalable clé-valeur. | L'objectif de ce TME est de prendre en main un système scalable clé-valeur. | ||
+ | Notions abordées: clé, répartition des données en fonction d'un préfixe de la clé, | ||
+ | localité d'une opération, lectures/écritures non isolées, transaction pour isoler une séquence d'écritures, | ||
+ | écriture conditionnelle. | ||
===== Préparation ===== | ===== Préparation ===== | ||
Ligne 8: | Ligne 15: | ||
cd votre répertoire | cd votre répertoire | ||
tar zxvf /Infos/bd/kvstore/kv-ce-3.1.7.tar.gz | tar zxvf /Infos/bd/kvstore/kv-ce-3.1.7.tar.gz | ||
- | cd kv-ce-3.1.7 | + | cd kv-3.1.7 |
source /Infos/bd/kvstore/config-java-classpath-kvlite.txt | source /Infos/bd/kvstore/config-java-classpath-kvlite.txt | ||
</code> | </code> | ||
- | Télécharger le logiciel [[http://download.oracle.com/otn-pub/otn_software/nosql-database/kv-ce-3.1.7.tar.gz|oracle kv store]] (fichier kv-ce-3.1.7.tar.gz). | + | **Seulement** si l'étape précédente n'a pas été faite : télécharger le logiciel [[http://download.oracle.com/otn-pub/otn_software/nosql-database/kv-ce-3.1.7.tar.gz|oracle kv store]] (fichier kv-ce-3.1.7.tar.gz). |
Copier le logiciel dans votre dossier de travail et le décompresser. | Copier le logiciel dans votre dossier de travail et le décompresser. | ||
+ | === Démarrage du serveur === | ||
Démarrer le serveur kvlite (version light de kvstore) avec la commande : | Démarrer le serveur kvlite (version light de kvstore) avec la commande : | ||
<code bash> | <code bash> | ||
Ligne 21: | Ligne 29: | ||
Rmq: L'option ''-root'' permet de préciser un dossier local sur votre machine pour que kvstore stocke les données (éviter de stocker les données sur NFS). | Rmq: L'option ''-root'' permet de préciser un dossier local sur votre machine pour que kvstore stocke les données (éviter de stocker les données sur NFS). | ||
- | En cas d'erreur au démarrage de kvlite, supprimer entièrement le dossier kvroot (c'est un sous dossier de kv-3.1.7). | + | En cas d'erreur au démarrage de kvlite, supprimer entièrement le dossier kvroot ''rm -rf /tmp/kvroot''. |
Garder ce terminal ouvert (pour afficher les eventuels messages provenant du serveur kvstore) mais ne plus l'utiliser par la suite pour saisir d'autres commandes. | Garder ce terminal ouvert (pour afficher les eventuels messages provenant du serveur kvstore) mais ne plus l'utiliser par la suite pour saisir d'autres commandes. | ||
- | Pour éteindre le serveur : | + | Pour éteindre le serveur : soit la touche Ctrl-C soit la commande |
<code bash> | <code bash> | ||
java -Djava.library.path=./lib -jar lib/kvstore.jar stop -root /tmp/kvroot | java -Djava.library.path=./lib -jar lib/kvstore.jar stop -root /tmp/kvroot | ||
Ligne 30: | Ligne 38: | ||
Récupérer les fichiers du TME | Récupérer les fichiers du TME | ||
<code bash> | <code bash> | ||
- | tar zxvf /Infos/bd/public/kvstore-etu.tgz | + | tar zxvf /Infos/bd/kvstore/kvstore-etu.tgz |
cd kvstore-etu | cd kvstore-etu | ||
</code> | </code> | ||
Ligne 37: | Ligne 45: | ||
=== Documentation === | === Documentation === | ||
* Lire la [[http://docs.oracle.com/cd/NOSQL/html/index.html|documentation Oracle NOSQL]] (en particulier le [[ http://docs.oracle.com/cd/NOSQL/html/quickstart.html|quick start]]) | * Lire la [[http://docs.oracle.com/cd/NOSQL/html/index.html|documentation Oracle NOSQL]] (en particulier le [[ http://docs.oracle.com/cd/NOSQL/html/quickstart.html|quick start]]) | ||
- | * Lien vers l'[[http://docs.oracle.com/cd/NOSQL/html/javadoc/index.html|API java]] | + | * Ouvrir un onglet dans votre navigateur pour consulter l'[[http://docs.oracle.com/cd/NOSQL/html/javadoc/index.html|API java]]. Cliquer sur le package **oracle.kv**, puis consulter les méthodes //put// et //get// //multiget//de l'interface KVStore et les méthodes //createPut...// de l'interface OperationFactory. |
===== Exercice 1 ===== | ===== Exercice 1 ===== | ||
- | Lire le {{ :site:enseignement:master:bdle:tmes:tmekvstore2017.pdf |sujet}} | + | Lire le {{ :site:enseignement:master:bdle:tmes:tmekvstore2017.pdf |sujet}} |
Initialier le store | Initialier le store | ||
<code bash> | <code bash> | ||
- | cd kv-ce-4.3.11 | + | cd kv-3.1.7 |
source /Infos/bd/kvstore/config-java-classpath-kvlite.txt | source /Infos/bd/kvstore/config-java-classpath-kvlite.txt | ||
cd .. | cd .. | ||
</code> | </code> | ||
- | Vérifier que la variable CLASSPATH contient tous les jar de kvstore ''echo $CLASSPATH'' | + | Vérifier que la variable CLASSPATH contient tous les jar de kvstore |
+ | <code bash> | ||
+ | echo $CLASSPATH | ||
+ | </code> | ||
- | + | Initialiser le store | |
- | Initialier le store | + | |
<code bash> | <code bash> | ||
cd kvstore-etu | cd kvstore-etu |