7
votes

INTÉGRATION HIVE / HBASE - SESSION DE ZOODEEPER

Nous avons un cluster 8 noeuds à l'aide de CDH3U2 configuré à l'aide de Cloudera Manager. Nous avons un nœud maître dédié à exécuter notre seule instance de Zookeper. Lorsque je configurais la ruche pour exécuter Hadoop local, exécuté du noeud maître, je n'ai aucun problème à récupérer les données de HBASE. Lorsque j'exécute une carte distribuée / réduite via la ruche, je reçois l'erreur suivante lorsque les nœuds esclaves se connectent au zookeeper.

HBase est capable de se connecter à ZooKeEper, mais la connexion se ferme immédiatement. Cela pourrait être un signe que le serveur a trop de connexions (30 est la valeur par défaut). P>

Nous avons essayé de définir Max connexions plus élevées (nous avons même essayé de supprimer la limite). Il s'agit d'un cluster de développement qui a très peu d'utilisateurs, je sais que le problème n'est pas qu'il y a trop de connexions (je suis capable de se connecter à ZookePer à partir des nœuds esclaves à l'aide de ./zkcli).

server Les journaux latéraux indiquent que la session a été résiliée par le client. P>

Le logiciel Hadoop Hadoop dit: «Causée par: org.apache.zookeeper.keeperexception $ ConnectionsLossexception: KeeperErrorCode = ConnectiveLoss For / HBASE P>

N'importe quelle idée Pourquoi je suis incapable de maintenir une connexion à ZooKeEper via la carte de la ruche / réduite? P> Configs pour HBase et Zookeeper sont: P>

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://alnnimb01:8020/hbase</value>
  <description>The directory shared by region servers. Should be fully-qualified to include the filesystem to use. E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR</description>
</property>

<property>
  <name>hbase.master.port</name>
  <value>60000</value>
  <description>The port master should bind to.</description>
</property>

<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
  <description>The mode the cluster will be in. Possible values are false: standalone and pseudo-distributed setups with managed Zookeeper true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)</description>
</property>


<property>
  <name>hbase.master.info.port</name>
  <value>60010</value>
  <description>The port for the hbase master web UI Set to -1 if you do not want the info server to run.</description>
</property>
















<property>
  <name>zookeeper.znode.parent</name>
  <value>/hbase</value>
  <description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper files that are configured with a relative path will go under this node. By default, all of HBase's ZooKeeper file path are configured with a relative path, so they will all go under this directory unless changed.</description>
</property>

<property>
  <name>zookeeper.znode.rootserver</name>
  <value>root-region-server</value>
  <description>Path to ZNode holding root region location. This is written by the master and read by clients and region servers. If a relative path is given, the parent folder will be ${zookeeper.znode.parent}. By default, this means the root location is stored at /hbase/root-region-server.</description>
</property>


  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    <description>The ZooKeeper client port to which HBase clients will     connect</description>
  </property>

  <property>
<name>hbase.zookeeper.quorum</name>
<value>alnnimb01.aln.experian.com</value>
<description>Comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".</description>


0 commentaires

4 Réponses :


4
votes

s'avère que la carte / réduite soumise par la ruche essaie de se connecter à Zookeper à "localhost", quel que soit la configuration du zooveeper.Quorom dans le fichier de configuration. J'ai changé / etc / hosts pour avoir à l'alias 'localhost' point de point sur la propriété intellectuelle de mon noeud maître et que la connexion à ZookeEper est maintenue. Vous recherchez toujours une meilleure résolution, mais cela fonctionnera pour le moment.


0 commentaires

1
votes

Je suis désolé d'avoir posté une nouvelle réponse. Je voulais commenter la réponse précédente, mais l'interface utilisateur commentaire semble avoir disparu>. <...

Quoi qu'il en soit, je voulais dire que je ressens le même problème, et c'est résolu en faisant le piratage / etc / hôtes, mais cela semble être une solution très sale ...

Quelqu'un a-t-il trouvé une façon de réparer cela proprement ... ??

merci :)!


0 commentaires

3
votes

Je l'ai compris. C'était un problème de configuration (comme je soupçonnais tout le long). La solution était de:

-set 'hbase.zookeper.quorum' dans le "hive-site.xml" et placez-le dans le répertoire "Hadoop-Conf"

Qu'est-ce qui m'a jeté, c'est qu'il n'y ait pas de ' Hbase .zookeeper.Quorum' dans la ruche-défaute.xml. Je jouais avec ' ruche .zookeeper.quorum' qui n'était pas la configuration correcte à changer.


0 commentaires

0
votes

Je rencontre exactement le même problème. Ce que j'ai fait, c'est d'utiliser la Conf suivante pour commencer la ruche CLI et cela fonctionne bien.

hive --hiveconf hbase.zookeeper.quorum={zk-host}


0 commentaires