Назад | Перейти на главную страницу

Невозможно распечатать топологию hdfs при использовании viewfs: /// как fs.defaultFS

Я использую технологию Rack Awareness в HDFS, я могу использовать следующую команду для получения топологии:

hdfs dfsadmin -printTopology

Сегодня, после настройки HDFS Federation и использования viewfs вместо hdfs в качестве файловой системы по умолчанию, например:

<!--                                                                                                                                              
  <property>                                                                                                                                      
    <name>fs.defaultFS</name>                                                                                                                     
    <value>hdfs://namenode1:9000</value>                                                                                                          
  </property>                                                                                                                                     
-->
  <property>
    <name>fs.defaultFS</name>
    <value>viewfs:///</value>
  </property>
  <property>
    <name>fs.viewfs.mounttable.default.link./ns1</name>
    <value>hdfs://namenode1:9000</value>
  </property>
  <property>
    <name>fs.viewfs.mounttable.default.link./ns2</name>
    <value>hdfs://namenode2:9000</value>
  </property>

Я получил сообщение об ошибке:

hduser@namenode1:/usr/local/hadoop/etc/hadoop$ hdfs dfsadmin -printTopology
printTopology: FileSystem viewfs:/ is not an HDFS file system
Usage: java DFSAdmin [-printTopology]

Итак, мои вопросы:

  1. Лучше ли использовать viewfs в федерации, чем использовать hdfs?
  2. Поддерживает ли viewfs команду Rack Awareness & printTopology?

Я новичок в кластере HDFS, надеюсь, здесь можно получить совет.

Вы должны использовать новый клиент hadoop и установить core-site.xml следующим образом: property: fs.defaultFS value: hdfs: // ваш активный узел namenode: порт, а не протокол viewfs, тогда вы можете использовать комментарий клиента hdfs