Тахион на главной репликации Dataproc Ошибка

У меня есть простой пример, работающий на главном узле Dataproc, где установлены Tachyon, Spark и Hadoop.

У меня ошибка репликации при записи в Tachyon из Spark. Есть ли способ указать это не нуждается в репликации?

15/10/17 08:45:21 WARN org.apache.hadoop.hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/tachyon/workers/1445071000001/3/8 could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.
    at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1550)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3110)

Часть журнала, которую я напечатал, является просто предупреждением, но сразу возникает ошибка Spark.

Я проверил документацию по конфигурации Tachyon и обнаружил кое-что, что может быть причиной этого:

tachyon.underfs.hdfs.impl   "org.apache.hadoop.hdfs.DistributedFileSystem"

Учитывая, что это все на главном узле Dataproc, с предустановленным Hadoop и HDFS, работающим со Spark, я думаю, что это проблема, решаемая в Tachyon.

2 ответа

Решение

Вы можете настроить репликацию по умолчанию, установив вручную dfs.replication внутри /etc/hadoop/conf/hdfs-site.xml к некоторому значению, отличному от значения по умолчанию Dataproc 2, Установка только на вашем мастере должна по крайней мере покрывать вызовы водителя, hadoop fs звонки, и, кажется, правильно распространяется в hadoop distcp вызовы также, так что, скорее всего, вам не нужно беспокоиться о том, чтобы также установить его на каждом работнике, пока работники получают свои конфигурации FileSystem из конфигураций с заданиями.

Обратите внимание, что репликация 1 уже означает единственную копию данных в целом, а не означает "одна реплика в дополнение к основной копии". Таким образом, репликация не может быть ниже 1. Минимальная репликация контролируется dfs.namenode.replication.min В то же самое hdfs-site.xml; вы можете увидеть это здесьBlockManager.java,

Это проблема репликации, поэтому естественно посмотреть на состояние рабочих узлов.

Оказывается, они были по другой причине. После исправления эта ошибка исчезла.

То, что я хотел бы знать, и приму в качестве ответа, как вручную изменить коэффициент репликации.

Другие вопросы по тегам