HBase client timeouts

Jun 07, 2016 pm 04:28 PM
client hbase the

The HBase client is a somewhat jumbled mess of layers with unintended nested retries, nested connection pools, etc. among others. Mixed in are connections to the Zookeeper ensemble. It is important to realize that the client directly handl

The HBase client is a somewhat jumbled mess of layers with unintended nested retries, nested connection pools, etc. among others. Mixed in are connections to the Zookeeper ensemble.

It is important to realize that the client directly handles all communication with the RegionServers, there is no proxy at the server side. Consequently the client needs to do the service discovery and caching as well as the connection and thread management necessary. And hence some of the complexity is understandable: The client is part of the cluster.

See also this blog post. Before HBASE-5682 a client would potentially never recover when it could not reach the cluster. And before HBASE-4805 and HBASE-6326, a client could not - with good conscience - be used in a long running ApplicationServer.

An important aspect of any client library is what I like to call "time to exception". If things go wrong the client should (at least as an option) fail fast and let the calling application - which has the necessary semantic context - decide how to handle this situation.

Unfortunately the HBase and Zookeeper clients were not designed with this in mind.

Among the various time outs are:
  • ZK session timeout (zookeeper.session.timeout)
  • RPC timeout (hbase.rpc.timeout)
  • RecoverableZookeeper retry count and retry wait (zookeeper.recovery.retry, zookeeper.recovery.retry.intervalmill)
  • Client retry count and wait (hbase.client.retries.number, hbase.client.pause)
In some error paths these retry loops are nested, so that in the default setting if both ZK and HBase are down a client will throw an Exception after a whooping 20 Minutes! The application has no chance to react to outages in any meaningful way.

HBASE-6326 fixes one issue, where .META. and -ROOT- lookups would be nested, each time causing a ZK timeout N^2 times (N being the client retry count, 10 by default), which itself would be retried by RecoverableZookeeper (3 by default).

The defaults for some of these settings are optimized for the various server side components. If the network "blips" for five seconds the RegionServers should not abort themselves. So a session timeout of 180s makes sense there.

For clients running inside a stateless ApplicationServer the design goals are different. Short timeouts of five seconds seem reasonable. A failure is quickly detected and the application can react (potentially by controlled retrying).

With the fixes in the various jiras mentioned above, it is now possible (in HBase 0.94+) to set the various retry counts and timeouts to low values and get reasonably short timespans after which the client would report a connection error to calling application thread.
And this is in fact what should done when the HBaseClient (HTable, etc) is used inside an ApplicationServer for HBase requests that are synchronous in the calling thread (for example a web server serving data from HBase).

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

2か月後、人型ロボットWalker Sが服をたたむことができるようになった 2か月後、人型ロボットWalker Sが服をたたむことができるようになった Apr 03, 2024 am 08:01 AM

Machine Power Report 編集者: Wu Xin 国内版の人型ロボット + 大型模型チームは、衣服を折りたたむなどの複雑で柔軟な素材の操作タスクを初めて完了しました。 OpenAIのマルチモーダル大規模モデルを統合したFigure01の公開により、国内同業者の関連動向が注目を集めている。つい昨日、中国の「ヒューマノイドロボットのナンバーワン株」であるUBTECHは、Baidu Wenxinの大型モデルと深く統合されたヒューマノイドロボットWalkerSの最初のデモを公開し、いくつかの興味深い新機能を示した。 Baidu Wenxin の大規模モデル機能の恩恵を受けた WalkerS は次のようになります。 Figure01 と同様に、WalkerS は動き回るのではなく、机の後ろに立って一連のタスクを完了します。人間の命令に従って服をたたむことができる

Beego で Hadoop と HBase を使用してビッグ データ ストレージとクエリを実行する Beego で Hadoop と HBase を使用してビッグ データ ストレージとクエリを実行する Jun 22, 2023 am 10:21 AM

ビッグデータ時代の到来に伴い、データの処理と保存の重要性がますます高まっており、大量のデータをいかに効率的に管理、分析するかが企業にとっての課題となっています。 Apache Foundation の 2 つのプロジェクトである Hadoop と HBase は、ビッグ データのストレージと分析のためのソリューションを提供します。この記事では、ビッグデータのストレージとクエリのために Beego で Hadoop と HBase を使用する方法を紹介します。 1. Hadoop と HBase の概要 Hadoop は、オープンソースの分散ストレージおよびコンピューティング システムです。

Firewalld Linux ファイアウォール Firewalld Linux ファイアウォール Feb 19, 2024 pm 06:24 PM

ファイアウォール ファイアウォール firewalld サービスには、CLI と GUI の 2 つの動作モードがあります。 iptables と比較して、ファイアウォールは動的更新をサポートし、ゾーンの概念を導入します。つまり、ゾーンとは、ファイアウォールによって事前定義された一連のファイアウォール ポリシーを指します。これにより、これらのポリシーをファイアウォール間で迅速に切り替えることができるため、ファイアウォールの切り替え効率とアプリケーション速度が大幅に向上します。ゾーンのデフォルト ポリシー ルールを信頼すると、ホームへのすべてのパケットが受信トラフィックを拒否できますが、ssh、mdns、ipp-client、および dhcpv6-client サービスは、ホーム ゾーンの内部同等の機能を通過して受信トラフィックを拒否することが許可されます。

THE はどの通貨ですか? THE コインは投資する価値がありますか? THE はどの通貨ですか? THE コインは投資する価値がありますか? Feb 21, 2024 pm 03:49 PM

THE とは何ですか? THE (Tokenized Healthcare Ecosystem) は、ブロックチェーン技術を使用してヘルスケア業界のイノベーションと改革に焦点を当てたデジタル通貨です。 THE コインの使命は、ブロックチェーン技術を使用して医療業界の効率と透明性を向上させ、患者、医療スタッフ、製薬会社、医療機関を含むすべての関係者間のより効率的な協力を促進することです。 THE Coin の価値と特徴 まず第一に、THE Coin はデジタル通貨として、分散化、高セキュリティ、透明性のある取引などのブロックチェーンの利点を備えており、参加者はこのシステムを信頼して利用することができます。第二に、THE コインの独自性は、ブロックチェーン技術を使用して従来の医療システムを変革し、改善するために医療および健康産業に焦点を当てていることです。

SpringBoot に hbase を統合する方法 SpringBoot に hbase を統合する方法 May 30, 2023 pm 04:31 PM

依存関係: org.springframework.dataspring-data-hadoop-hbase2.5.0.RELEASEorg.apache.hbasehbase-client1.1.2org.springframework.dataspring-data-hadoop2.5.0.RELEASE 構成を追加する正式な方法は、xml を使用することです。 simple 書き換えると以下のようになります。 @ConfigurationpublicclassHBaseConfiguration{@Value("${hbase.zooke

The Sandbox コインの最新価格を確認するにはどうすればよいですか? The Sandbox コインの最新価格を確認するにはどうすればよいですか? Mar 05, 2024 am 11:52 AM

TheSandbox 通貨の最新価格を確認する方法 TheSandbox は、イーサリアム ブロックチェーン上に構築された分散型ゲーム プラットフォームで、ネイティブ トークン SAND を使用して土地、資産、ゲーム体験を購入できます。 SAND の最新価格を確認する手順は次のとおりです。 信頼できる価格確認 Web サイトまたはアプリを選択してください。一般的に使用される価格クエリ Web サイトには次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Web サイトまたはアプリ SAND で検索します。サンドを見る

Java を使用して HBase に基づく NoSQL データベース アプリケーションを開発する方法 Java を使用して HBase に基づく NoSQL データベース アプリケーションを開発する方法 Sep 20, 2023 am 08:39 AM

Java を使用して HBase に基づいた NoSQL データベース アプリケーションを開発する方法 はじめに: ビッグ データ時代の到来により、NoSQL データベースは大量のデータを処理するための重要なツールの 1 つになりました。 HBase は、オープンソースの分散型 NoSQL データベース システムとして、ビッグ データの分野で広範なアプリケーションを備えています。この記事では、Java を使用して HBase に基づく NoSQL データベース アプリケーションを開発する方法を紹介し、具体的なコード例を示します。 1. HBase の概要: HBase は、Hadoop に基づく分散システムです。

The Graphコインの最新価格を確認するにはどうすればよいですか? The Graphコインの最新価格を確認するにはどうすればよいですか? Mar 05, 2024 am 09:55 AM

TheGraphコインの最新価格を確認するにはどうすればよいですか? TheGraph は、ブロックチェーン データの効率的なインデックス作成とクエリ サービスを提供するように設計された分散型プロトコルです。このプロトコルは、開発者が分散型アプリケーション (dApp) を簡単に構築および起動できるようにし、これらのアプリケーションにブロックチェーン データへの便利なアクセスを提供するように設計されています。 TheGraph Coin (GRT) の最新価格を確認するには、次の手順に従います。 信頼できる価格確認 Web サイトまたはアプリを選択します。一般的に使用される価格クエリ Web サイトには次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coind

See all articles