Локальное чтение данных
Локальное чтение данных (Short-circuit read) — это режим чтения данных в HDFS, который позволяет читать данные напрямую, в обход обращения к серверу DataNode. Такой подход позволяет ускорить процесс чтения, что может значительно улучшить работу приложений.
В ADH локальное чтение включено по умолчанию. Чтобы использовать его, клиент должен находиться на одном хосте с данными, к которым будет обращаться.
В конфигурационном файле hdfs-site.xml по умолчанию установлены следующие параметры локального чтения:
-
dfs.client.read.shortcircuit
—True
, -
dfs.domain.socket.path
—/var/lib/hadoop-hdfs/dn_socket
.
При необходимости вы можете изменить значения параметров через ADCM:
-
На странице Clusters выберите нужный кластер.
-
Перейдите на вкладку Services и нажмите на HDFS.
-
Найдите параметр, измените его значение и нажмите Apply.
-
Подтвердите изменения в конфигурации HDFS, нажав Save.
-
В меню Actions выберите Restart, убедитесь, что для параметра Apply configs from ADCM установлено значение true, и нажмите Run.
Чтобы посмотреть статистику по локальному чтению данных, откройте страницу Metrics в графическом интерфейсе DataNode и найдите параметр ReadsFromLocalClient. В нем указывается количество локальных чтений.