Viele Festplattenfehler, aber keine Hardware-Warnung. Ist dies Hardware oder Software?
542
Sedat Kestepe
Zusammenfassung: Zufällige Datenträger auf einem Datanode eines Hadoop-Clusters werden immer schreibgeschützt. Jobs schlagen fehl, aber auf dem Server befindet sich keine Hardware-Warnung.
Hallo,
Ich verwalte einen Hadoop-Cluster, der auf CentOS 7 (7.4.1708) läuft.
Das datascience-Team hatte lange Zeit fehlerhafte Jobs. Zu dem Zeitpunkt, zu dem wir unsere Speicherfestplatten (auf einem bestimmten Datenkanal) auch schreibgeschützt bekamen.
Da die erste Ausnahme, die wir erhielten, irreführend war, konnten wir beide nicht miteinander in Verbindung bringen (tatsächlich konnten wir keinen Beweis finden, dass sie verwandt waren). Ich fsckführe (mit einem -a-Tag für die automatische Korrektur) jedes Mal aus, wenn eine Festplatte schreibgeschützt ist, aber es werden nur logische Blöcke behoben, es werden jedoch keine Hardwarefehler gefunden.
Wir haben die Beziehung zwischen zwei Problemen hergestellt, als wir herausfanden, dass alle fehlgeschlagenen Jobs diesen speziellen Knoten für Application Master verwendeten.
Obwohl viele Festplattenfehler auf Betriebssystemebene auftreten, werden keine Hardwarefehler / Warnungen auf Servern gemeldet (LED-Signale / Hardwareschnittstelle). Ist der Erhalt solcher Hardware-Fehlerberichte zwingend, damit ein Problem als Hardwareproblem bezeichnet wird?
Danke im Voraus.
OS: CentOS 7.4.1708
Hardware: HPE Apollo 4530
Festplatte: HPE MB6000GEFNB 765251-002 (6 TB 6G Hot-Plug-SATA-7,2K-3,5-Zoll-512L-MDL-LP-HDD) - (Informiert als Smart wird nicht unterstützt)
Sie finden Anwendungs- und Systemprotokolle für Details.
Im Folgenden finden Sie Ausnahmen in den Garnknoten-Manager-Protokollen des problematischen Knotens:
2018-06-04 06:54:27,390 ERROR yarn.YarnUncaughtExceptionHandler (YarnUncaughtExceptionHandler.java:uncaughtException(68)) - Thread Thread[LocalizerRunner for container_e77_1527963665893_4250_01_000009,5,main] threw an Exception. org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.lang.InterruptedException at org.apache.hadoop.yarn.event.AsyncDispatcher$GenericEventHandler.handle(AsyncDispatcher.java:259) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerRunner.run(ResourceLocalizationService.java:1138) Caused by: java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1220) at java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:335) at java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:339) at org.apache.hadoop.yarn.event.AsyncDispatcher$GenericEventHandler.handle(AsyncDispatcher.java:251) ... 1 more 2018-06-04 06:54:27,394 INFO localizer.ResourceLocalizationService (ResourceLocalizationService.java:run(1134)) - Localizer failed java.lang.RuntimeException: Error while running command to get file permissions : java.io.InterruptedIOException: java.lang.InterruptedException at org.apache.hadoop.util.Shell.runCommand(Shell.java:947) at org.apache.hadoop.util.Shell.run(Shell.java:848) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:1142) at org.apache.hadoop.util.Shell.execCommand(Shell.java:1236) at org.apache.hadoop.util.Shell.execCommand(Shell.java:1218) at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1077) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:686) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:661) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.checkLocalDir(ResourceLocalizationService.java:1440) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.getInitializedLocalDirs(ResourceLocalizationService.java:1404) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.access$800(ResourceLocalizationService.java:141) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerRunner.run(ResourceLocalizationService.java:1111) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at java.lang.UNIXProcess.waitFor(UNIXProcess.java:396) at org.apache.hadoop.util.Shell.runCommand(Shell.java:937) ... 11 more at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:726) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:661) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.checkLocalDir(ResourceLocalizationService.java:1440) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.getInitializedLocalDirs(ResourceLocalizationService.java:1404) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.access$800(ResourceLocalizationService.java:141) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerRunner.run(ResourceLocalizationService.java:1111)
In den HDFS-Protokollen des Knotens gibt es einige seltene Ausnahmen wie folgt:
2018-06-10 06:55:27,280 ERROR datanode.DataNode (DataXceiver.java:run(278)) - dnode003.mycompany.local:50010:DataXceiver error processing WRITE_BLOCK operation src: /10.0.0.17:50095 dst: /10.0.0.13:50010 java.io.IOException: Premature EOF from inputStream at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:203) at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doReadFully(PacketReceiver.java:213) at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doRead(PacketReceiver.java:134) at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.receiveNextPacket(PacketReceiver.java:109) at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receivePacket(BlockReceiver.java:500) at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receiveBlock(BlockReceiver.java:929) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:817) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opWriteBlock(Receiver.java:137) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:74) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:251) at java.lang.Thread.run(Thread.java:745)
Einige HPE Smart Array Controller verfügen über Firmware-Fehler, durch die die Controller blockiert werden können, und Fehler werden möglicherweise nicht im Integrated Management Log protokolliert.
Um dieses Problem zu beheben, aktualisieren Sie die Firmware des Smart Array Controllers. Hier sind die Anweisungen zur Auflösung aus dem Advisory kopiert:
Die Smart Array / HBA-Firmwareversion 4.02 (oder höher) behebt dieses Problem.
Führen Sie die folgenden Schritte aus, um die neueste Version der Smart Array / HBA-Firmwareversion zu erhalten:
Geben Sie in das Dropdown-Feld "Geben Sie einen Produktnamen oder eine Produktnummer ein" den Namen des Controllers ein.
Wählen Sie "Treiber, Software und Firmware abrufen".
Wählen Sie das entsprechende Betriebssystem aus.
Wählen Sie die Kategorie "Firmware-Storage Controller".
Suchen Sie nach der Smart Array Firmware-Version 4.02 (oder höher), laden Sie sie herunter und installieren Sie sie.
Wenn Sie Probleme mit den obigen Anweisungen haben, können Sie die Firmware möglicherweise schneller finden, indem Sie eine Websuche für Ihr Smart Array-Modell plus "Firmware" durchführen und das Ergebnis "Treiber" wie folgt auswählen:
Danke, @Deltik. Ich habe unsere Firmware-Version überprüft. Es ist 4.52. Gut, das zu wissen.
Sedat Kestepe vor 5 Jahren
0
@SedatKestepe: Es gab einige [wichtige Aktualisierungen] (https://support.hpe.com/hpsc/swd/public/detail?sp4ts.oid=7274897&swItemId=MTX_94d23918a511422fa46c3f49f7&swvvid_id=4184#tab; mehr Lockups, so dass es sich möglicherweise lohnt, ein Firmware-Update auszuprobieren.
Deltik vor 5 Jahren
0