HBase - местоположение всегда равно нулю

У нас есть кластер (Apache Phoenix в качестве сопроцессора) из 6 узлов данных, расположенных совместно с серверами региона HBase. Мы установили все параметры для включения:

  <property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.client.read.shortcircuit.buffer.size</name>
    <value>131072</value>
  </property>
  <property>
    <name>dfs.domain.socket.path</name>
    <value>/var/run/hadoop-hdfs/dn._PORT</value>
  </property>

* Я пытался удалить путь к сокету, но RS завершился с ошибкой, поэтому он пытается использовать короткое замыкание.

Тем временем в журналах узла данных hdfs я вижу:

2018-07-31 09:20:30,539 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_FDS, blockid: 1077953652, srvID: d67ca494-8813-4117-9009-9c34054eb4c3, success: true
2018-07-31 09:20:30,560 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_FDS, blockid: 1077953658, srvID: d67ca494-8813-4117-9009-9c34054eb4c3, success: true
2018-07-31 09:20:30,567 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_FDS, blockid: 1077954458, srvID: d67ca494-8813-4117-9009-9c34054eb4c3, success: true
2018-07-31 09:20:30,930 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: RELEASE_SHORT_CIRCUIT_FDS, shmId: 72430b904199e87f54f9b59eca2d3e0d, slotIdx: 13, srvID: d67ca494-8813-4117-9009-9c34054eb4c3, success: true
2018-07-31 09:20:30,934 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: RELEASE_SHORT_CIRCUIT_FDS, shmId: 72430b904199e87f54f9b59eca2d3e0d, slotIdx: 15, srvID: d67ca494-8813-4117-9009-9c34054eb4c3, success: true
2018-07-31 09:20:30,935 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: RELEASE_SHORT_CIRCUIT_FDS, shmId: 72430b904199e87f54f9b59eca2d3e0d, slotIdx: 16, srvID: d67ca494-8813-4117-9009-9c34054eb4c3, success: true

Но HBase сообщает об нулевой локализации для всех серверов регионов, даже после major_compaction: Regions/data size/locality< /а>

Может ли кто-нибудь помочь?


person Alex Saraseka    schedule 31.07.2018    source источник


Ответы (1)


Вы можете проверить распределение блоков, просмотрев утилиту просмотра файловой системы пользовательского интерфейса Namenode. Перейдите к местоположению файла hbase и под именем региона вы найдете местоположение блока. Если блоки реплицируются на одном сервере региона, но ваше местоположение по-прежнему равно 0, это может быть связано с разными именами хостов, с которыми узлы сервера региона и узлы данных зарегистрированы в HMaster и Namenode соответственно. Вы можете проверить имена региональных серверов в основном пользовательском интерфейсе Hbase в разделе «Региональные серверы». Аналогичным образом проверьте имена узлов данных в пользовательском интерфейсе namenode.

Если имена хостов различаются в обоих местах, это может быть причиной локальности 0. HRegionServer при запуске отменяет поиск DNS от главного. Добавление сопоставления IP-адреса с хостом в /etc/hosts главного и регионального серверов должно исправить это.. Примечание: вам придется перезапустить региональный сервер после добавления записей в /etc/hosts

person Amarjeet Singh    schedule 23.09.2020