hdfs хранит данные в datanode распределенно

Я построил HDFS (2 узла данных). Я сохранил данные в узлах данных HDFS.

Я хочу хранить данные с балансировкой, используя два узла данных. Но я сохранил только один узел данных, когда использовал CLI (hadoop fs -put)

У кого-нибудь есть решение, как я могу хранить данные как два отдельных данных?


person user2045917    schedule 06.02.2013    source источник


Ответы (2)


Похоже, вы спрашиваете, как установить коэффициент репликации. Если у вас есть 2 узла данных, коэффициент репликации 2 гарантирует, что все файлы будут храниться на обоих узлах. Вы можете установить это в файле hdfs-site.xml в вашем каталоге конфигурации Hadoop. Вы хотите установить:

<property>
  <name>dfs.replication</name>
  <value>2</value>
</property>

Вы также можете запустить команду setrep, чтобы изменить коэффициент репликации определенного файла или каталога:

hadoop fs -setrep -R 2 <path>

-R, конечно, делает его рекурсивным.

person Ilion    schedule 06.02.2013

Если ваш коэффициент репликации установлен правильно, и вы действительно просто хотите сбалансировать использование даты:

hadoop balancer [-threshold <threshold>]

Много информации о ребалансировщике (в формате PDF) содержится в документации Hadoop. страница.

person Pieterjan    schedule 06.02.2013