sql >> Databáze >  >> NoSQL >> HBase

Průvodce používáním portů Apache HBase

Pro nové uživatele Apache HBase (verze 0.90 a novější) může být konfigurace síťových portů používaných systémem trochu ohromující.

V tomto příspěvku na blogu se dozvíte o všech portech TCP používaných různými procesy HBase a o tom, jak a proč se používají (vše na jednom místě), abyste pomohli správcům odstraňovat problémy a nastavovat nastavení brány firewall a pomohli novým vývojářům s laděním.

Typický cluster HBase má jeden aktivní hlavní server, jeden nebo několik hlavních serverů záloh a seznam serverů oblastí. Záložní mastery jsou pohotovostní mastery čekající na další aktivní. Než budou aktivní, neposlouchají na žádném portu. (Další informace o tom, jak škálovatelnost HBase funguje zde.)

Každý server v clusteru naslouchá hlavnímu portu pro požadavky od klientů a/nebo jiných serverů HBase. Každý server má také vestavěný server webového uživatelského rozhraní Jetty.

Následující diagram ukazuje komunikaci mezi různými komponentami. (Modré komponenty patří do clusteru HBase, obvykle za firewallem; šedé komponenty jsou externí klienti, obvykle mimo firewall clusteru HBase; zelená komponenta je webový prohlížeč, obvykle také mimo firewall.)

  1. Klientské aplikace promluví s Apache ZooKeeper, aby zjistily umístění hlavního serveru a serveru meta oblasti (kořenová oblast je v HBase verze 0.96 odstraněna).
  2. Klientské aplikace komunikují s regionálními servery za účelem čtení/zápisu/skenování tabulky.
  3. Klientské aplikace komunikují s hlavním serverem, aby získaly informace o existující tabulce, dynamicky vytvořily/odebraly tabulku, přidaly/odebraly rodinu sloupců.
  4. Hlavní komunikuje s regionálními servery o otevření/zavření/přesunutí/rozdělení/vyprázdnění/kompaktu oblastí.
  5. Hlavní vloží data do ZooKeeperu, aby uložil aktivní hlavní server a umístění serveru metaregionu, vytvořil úlohy dělení protokolu a sledoval stav serverů regionu.
  6. Regionální servery čtou data v ZooKeeperu, aby provedly rozdělení protokolů, sledovaly hlavní umístění a stav clusteru.
  7. Regionální servery komunikují s hlavním serverem, aby hlásily spuštění a zatížení regionálního serveru.
  8. Občas servery regionů mluví s meta regionem, aby zkontrolovaly stav regionu, vytvořily nové dceřiné regiony v rozdělení regionů.
  9. Klienti REST komunikují se servery REST za účelem přístupu k HBase.
  10. Klienti Thrift komunikují se servery Thrift, aby získali přístup k HBase.
  11. Uživatelé přistupují k hlavnímu webovému uživatelskému rozhraní z prohlížečů.
  12. Uživatelé přistupují k webovému uživatelskému rozhraní regionálních serverů z prohlížečů.
  13. Uživatelé přistupují k webovému uživatelskému rozhraní serverů REST z prohlížečů.
  14. Uživatelé přistupují k webovému uživatelskému rozhraní serverů Thrift z prohlížečů.

Některé clustery HBase mohou mít seznam serverů REST nebo Thrift. REST server i Thrift server jsou volitelné; jsou potřeba pouze v případě, že chcete poskytnout REST/Thrift přístup ke svému clusteru HBase. Pro HBase jsou to jen další klientské aplikace. Stejně jako ostatní servery HBase také naslouchají hlavnímu portu pro požadavky klientů a portu webového uživatelského rozhraní.

Následující tabulka ukazuje porty používané klientskými aplikacemi ke komunikaci s klastrem HBase, uživatelé ke kontrole informací o klastru a různé komponenty HBase ke vzájemné komunikaci.

Komponenta

Konfigurační parametr

Výchozí hodnota

Použitá místa

ZooKeeper

hbase.zookeeper.property.clientPort

2181

1,5,6

Master

hbase.master.port

60000

3,7

Master

hbase.master.info.port

60010

11

Regionální server

hbase.regionserver.port

60020

2,4,8

Regionální server

hbase.regionserver.info.port

60030

12

Server REST

hbase.rest.port **

8080

9

Server REST

hbase.rest.info.port *

8085

13

Thrift server

hbase.regionserver.thrift.port **

9090

10

Thrift server

hbase.thrift.info.port *

9095

14

* Zavedeno ve verzi HBase 0.94.5. Mohou být také specifikovány volbou příkazového řádku --infoport při spouštění odpovídajícího serveru.
** Lze je také zadat pomocí volby příkazového řádku -p při spouštění odpovídajícího serveru.

Jeden port není v tabulce uveden – port jmenného uzlu HDFS – protože zde pro něj není samostatný parametr. Je nakonfigurován jako součást „hbase.root“ (například „hdfs://namenode.foobar.com:35802/hbase“) s portem HDFS NameNode nakonfigurovaným na 35802. Pokud není uvedeno jinak v hodnotě „ hbase.root“, výchozí je 8020.

Kromě hlavního portu naslouchá každý server v clusteru (s výjimkou ZooKeeper) také portu webového uživatelského rozhraní. Webové uživatelské rozhraní je vestavěný server Jetty v odpovídajícím serveru. Webové uživatelské rozhraní poskytuje lidem čitelné informace o odpovídajícím serveru – například výpis vláken a místní protokoly. Hlavní webové uživatelské rozhraní obsahuje odkazy na všechna webová uživatelská rozhraní regionálních serverů, což z něj činí perfektní vstupní bod pro kontrolu aktuálního stavu clusteru HBase.

Servery REST/Thrift jsou volitelnými proxy servery HBase. Hovoří s HBase stejně jako ostatní klientské aplikace HBase. Obvykle jsou však nasazeny uvnitř clusteru HBase spolu s dalšími servery HBase.

Klientské aplikace jsou obvykle nasazovány mimo cluster HBase. Klienti REST/Thrift jsou nasazeni i mimo cluster. Pokud je cluster HBase za bránou firewall, měly by být tyto odpovídající porty ve výchozím nastavení otevřené:

Povolení přístupu klientské aplikace:

  • 2181 (hbase.zookeeper.property.clientPort)
  • 60 000 (hbase.master.port)
  • 60020 (hbase.regionserver.port)

Povolení přístupu klienta REST/Thrift:

  • 8080 (hbase.rest.port)
  • 9090 (hbase.regionserver.thrift.port)

Pokud je povolen přístup k webovému uživatelskému rozhraní mimo bránu firewall, měly by být také otevřené odpovídající porty webového uživatelského rozhraní:

  • 60010 (hbase.master.info.port)
  • 60030 (hbase.regionserver.info.port)
  • 8085 (hbase.rest.info.port)
  • 9095 (hbase.thrift.info.port)

Závěr

V tomto příspěvku máte shrnutí portů používaných interními komponentami HBase, klientskými aplikacemi a uživateli/správci, uspořádaných podle případu použití.

Protože však HBase běží nad HDFS, je také důležité znát porty HDFS. Chcete-li spustit MapReduce s HBase, musíte také znát porty MapReduce. Informace o těchto portech souvisejících s Hadoop naleznete v Rychlé referenční příručce výchozích portů Hadoop .

Jimmy Xiang je softwarový inženýr v týmu Platform.

> Máte otázky? Zveřejněte je na komunitním fóru pro HBase.


  1. MongoDB přidat do pole pro připojení kolekce od základního

  2. Kroky k instalaci MongoDB na Amazon Linux

  3. Mongo najít duplikáty pro záznamy pro dvě nebo více polí

  4. Mongo Seřadit podle počtu zápasů v poli