Hbase windows avec cygwin

J’ai trouvé un nombre important de tutoriels sur hbase la base de données NoSql de Google. Mais la plus part du temps avec le framework Hadoop qui s’occupe de son écosystème.

Pour un projet de recherche, je dois tester différentes solutions de NoSql, les premiers essais avec couchdb sont très intéressant mais la communauté semble moins dynamique que mongoDb et HBase.

Donc démarrage de la configuration de HBase, avec une mise en garde: « Si vous n’installez pas cette solution en production sur un Linux/Unix/Mac OS ou comme on voit un « -nix like »  Hbase n’est vraiment pas la bonne solution ».

Il y a bien une procédure d’installation fournie par Apache Hbase. Mais elle est loin d’être suffisante, tout du moins dans mon cas: windows 7-32 bits installation standalone .

Vous trouverez donc des grandes lignes additionnelles à ce tutoriel pour une installation de hbase-0.94.16 (la version stable au moment où j’écris ces lignes).

Attention le tutoriel d’Apache indique des éléments important:

  1. Mon installation de Java JDK7 est dans C:/Developpement/Java/jdk1.7.0_51
  2. Aucun chemin ne doit comporter d’espace et j’ajoute que les noms cours de type Progr~1 ne sont pas opérationnel
  3. Cygwin est dans c:/cygwin
  4. Hbase est dans c:/cygwin/usr/local/hbase-0.94.16
  5. Le fichier /etc/hosts est modifié avec l’ajout du nom du PC windows (echo $HOSTNAME pour l’obtenir ):
    127.0.0.1 localhost
    127.0.0.1  PC1

Création de multiples dossiers (une réduction est surement à rpévoir) avec chmod 777:

  • C:/cygwin/usr/local/hbase-0.94.16/tmp
  • C:/cygwin/usr/local/hbase-0.94.16/zookeeper
  • C:/cygwin/usr/local/hbase-0.94.16/data
  • C:/cygwin/root/tmp/hbase/tmp

Pour le fichier conf/hbase-default.xml  ces propriétés ont été modifiées:

  • <name>hbase.rootdir</name><value>/tmp</value>
  • <name>hbase.tmp.dir</name><value>C:/cygwin/root/tmp/hbase/tmp</value>
  • <name>hbase.zookeeper.quorum</name><value>PC1</value>
  • <name>hbase.defaults.for.version.skip</name><value>true</value>

Ce dernier réglage m’évite une erreur « hbase-default.xml file seems to be for and old version of HBase » alors que le fichier hbase-default.xml était recopier depuis le dossier hbase-0.94.16/src/main/resources/hbase-default.xml.

Pour le fichier conf/hbase-site.xml (et il n’y a que ces 2 propriétés dans le fichier)

  • <name>hbase.rootdir</name><value>file:///usr/local/hbase-0.94.16</value>
  • <name>hbase.zookeeper.property.dataDir</name><value>zookeeper</value>

Le fichier conf/hbase-env.sh modifié en conséquence (en suivant les directives du tutoriel hbase)

  • export JAVA_HOME=/usr/local/jdk7/
  • export HBASE_CLASSPATH=/cygdrive/c/cygdrive/usr/local/hbase-0.94.16/lib/zookeeper-3.4.5.jar

Pour ce dernier point il faut aussi créer un fichier zzzzzz.jar dans le dossier /cygdrive/c/cygdrive/usr/local/hbase-0.94.16/lib/ pour que le fichier zookeeper-3.4.5.jar ne soit pas le dernier.

Au final les commandes suivantes vous indique que cela fonctionne:

$ ./bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.16, r1557241, Fri Jan 10 20:43:03 UTC 2014

status
status
1 servers, 0 dead, 3.0000 average load

Bravo, je joint mes fichiers de configuration hbase-default.xml, hbase-site.xml et hbase-env.sh pour servir d’exemple.

 

Références :

Addendum:

Suite à la réinstallation j’ai eu un erreur sur la gestion des droits :

ERROR [main] (UserGroupInformation.java:1124) - PriviledgedActionException as:pierre.jean cause:java.io.IOException: Failed to set permissions of path

Il faut ajouter ceci au fichier  hbase-site.xml comme conseillé par ce contournement et installer le patch.

<property>
  <name>fs.file.impl</name>
  <value>com.conga.services.hadoop.patch.HADOOP_7682.WinLocalFileSystem</value>
   <description>Enables patch for issue HADOOP-7682 on Windows</description>
 </property>

A propos Pierre Jean

Ingénieur de Recherche CERIS Centre d'Enseignement et de Recherche en Informatique et Systèmes IMT Mines Alès UMR Euromov DHM Plus de détails sur Pierre JEAN
Ce contenu a été publié dans Blog. Vous pouvez le mettre en favoris avec ce permalien.