Минимум - один см. псевдораспределенный режим . Используемые движущиеся части:
Предполагается, что вы работаете на HDFS (что и должно быть):
- 1 HDFS NameNode
- 1 или более вторичных имен узлов HDFS
- 1 или более HDFS DataNode (s)
Для MapReduce (если вы этого хотите):
- 1 MapReduce JobTracker
- 1 или более MapReduce TaskTracker (s) (Обычно те же машины, что и датододы)
Для самого HBase
- 1 или более HBase Master (s) (Горячие резервные копии - хорошая идея)
- 1 или более HBase RegionServer (s) (Обычно те же машины, что и датододы)
- 1 или более экономичных серверов (если вам нужен доступ к HBase из внешней сети, в которой он включен)
для ZooKeeper
- 3 - 5 узлов ZooKeeper
Количество нужных вам машин действительно зависит от того, насколько вам нужна надежность в случае аппаратного сбоя и для каких узлов. Единственный узел из вышеперечисленных, который (пока) не поддерживает горячее переключение при сбое или другое восстановление после аппаратного сбоя, - это имя узла HDFS, хотя это исправлено в более поздних выпусках Hadoop.
Обычно вы хотите установить коэффициент репликации HDFS ваших RegionServers на 3, чтобы вы могли воспользоваться осведомленностью о стойке .
Так что после этого длинного диатриба я бы предложил минимум (для производственного развертывания):
- 1x HDFS NameNode
- 1x JobTracker / Secondary NameNode
- 3x ZK Nodes
- 3x узла DataNode / RegionServer (и если вы хотите запустить MapReduce, TaskTracker)
- 1x Thrift Server (только при доступе к HBase вне сети, на которой он работает)