Почему Hbase не использует все узлы в кластере? - PullRequest
0 голосов
/ 25 июня 2019

Я настраиваю кластер Hbase и столкнулся с проблемой.Когда я записываю свои данные в кластер, некоторые узлы остаются пустыми.

Экран состояния Hbase:

enter image description here Экран Dfshealth: enter image description here

Hbase 1.4.10, Hadoop 3.1.2

ведущий узел hbase-site.xml

<configuration>
   <property>
      <name>hbase.rootdir</name>
      <value>hdfs://node-master:9000/hbase</value>

   </property>

   <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>hdfs://node-master:9000/zookeeper</value>
   </property>

   <property>
     <name>hbase.cluster.distributed</name>
     <value>true</value>
   </property>


   <property>
           <name>hbase.zookeper.quorum</name>
           <value>node-master</value>
   </property>

   <property>
           <name>hbase.zookeeper.property.clientPort</name>
           <value>2181</value>
   </property>
   <property>
           <name>hbase.client.write.buffer</name>
           <value>8388608</value>
   </property>
   <property>
           <name>hbase.client.scanner.caching</name>
           <value>10000</value>
   </property>
</configuration>

ведущие узлы региона серверы(рабочие Hadoop же)

node1
node2
node3
node4
node5
node6

1 Ответ

0 голосов
/ 18 июля 2019

Hbase записывает данные в регионы, где каждый регион представляет собой набор строк на основе отсортированных ключей.Когда вы достигнете предела региона, HBase разделит регион на 2 региона и то же самое, когда 2-й регион достигнет предела, он снова разделится.каждый регион назначается серверу региона (Datanode).

Таким образом, в вашей таблице не так много регионов, чтобы использовать все узлы.таким образом, чтобы сбалансировать данные по узлам, вы можете предварительно разделить таблицу при ее создании. Предварительная разбивка таблицы Hbase

Пожалуйста, прочитайте также о проблеме с горячей точкой HBase, тогда вы получите больше понимания.

...