2014-05-12 5 views
0

Je viens de mettre à jour notre cluster Hadoop vers Hadoop 2.2 + HBase 0.98. Nous avons trouvé quelques problèmes, le plus important étant que les régions ne sont pas réparties de manière égale entre les serveurs régionaux.HBase: assignation region-regionserver pas encore

Par exemple, j'ai une table qui comporte 125 régions et il est affecté comme suit:

  • hslave1 13
  • hslave2 10
  • hslave3 6
  • hslave4 23
  • hslave5 8
  • hslave6 26
  • hslave7 8
  • hslave8 34

Lorsque nous avons utilisé l'ancienne version (0.94.7), nous n'avions pas la même question. Quels devraient être les paramètres de configuration que nous devons vérifier? Compaction? Divisé?

Merci

Répondre

0

Il y a un paramètre dans HBase-site.xml:

<property> <name>hbase.master.loadbalance.bytable</name> <value>true</value> </property>

Par défaut, il est faux. L'équilibre entre les serveurs de la région est donc bon, mais l'équilibre de la charge au niveau de la table n'est pas pris en compte. Définissez cette valeur sur true, HBase équilibrera la région sur les serveurs de région au niveau de la table.

+0

Mais cela suffira-t-il? J'ai lu que vous devez appliquer le salage, en définissant des clés de rangée de sorte que les rangées d'une table entrent dans différentes régions. Quelle est votre expérience avec cela? – Marko