Rezension:
Verwenden Sie den folgenden Befehl, um den Kafka-Betriebsstatus zu überprüfen. Folgendermaßen:
Kafka.Service Geladen: geladen (/usr/lib/systemd/system/kafka.service; ermöglichte; Vendor-Preset: deaktiviert) Aktiv: fehlgeschlagen (Ergebnis: Ausgangscode) seit Mi 2021-09-22 14:43:11 CST; Vor 1 Stunde 43 Minuten Prozess: 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE) Haupt-PID: 7363 (Code=Exited, Status=1/FAILURE)
22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] WARN [ReplicaManager broker=1] Stopp der Bereitstellung von Repliken im Verzeichnis /tmp/kafka-logs ( kafka.server.ReplicaManager) 22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] WARN [GroupCoordinator 1]: Leere Metadaten für Gruppe KqBatchAna nicht geschrieben: Das ist nicht korrekt Koordinator. (kafka.co... upCoordinator) 22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager auf Broker 1] Fetcher für Partitionen entfernt HashSet(__consumer_offsets-22, __ consumer_offsets-30, ...-8, __consumer 22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,304] INFO [ReplicaAlterLogDirsManager auf broker 1] Entfernte Fetcher für Partitionen HashSet__consumer_( Offsets-22, __consumer_offsets... FSETS-8, __con 22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] Broker 1 stoppte den Abruf für Partitionen __consumer_offsets-22,__ consumer_offsets-30.__consumer_... FSETS-21,__con 22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] WARN Stopp der Auslieferung von Logs im Verzeichnis /tmp/kafka-logs (kafka.log.LogManager) 22. Sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] FEHLER Shutdown-Broker, weil alle Log-Verzeichnisse in /tmp/kafka-logs fehlgeschlagen haben (kafka.log.LogManager) 22. Sep 14:43:11 devops02 systemd[1]: kafka.service: Hauptprozess beendet, code=exited, status=1/FAILURE 22. Sep 14:43:11 devops02 systemd[1]: Einheit kafka.service ist in den ausgefallenen Zustand versetzt. 22. Sep 14:43:11 devops02 systemd[1]: kafka.service fehlgeschlagen.
Hint: Some lines were ellipsized, use -l to show in full.
Gehen Sie zum Kafka-Logverzeichnis /usr/local/kafka/logs, um die server.log Logdateien wie folgt anzusehen:
[2021-09-22 14:43:11,286] ERROR Fehler beim Rollen des Logsegments für __consumer_offsets-8 im Verzeichnis /tmp/kafka-logs (kafka.server.LogDirFailureChannel)
java.io.FileNotFoundException: /tmp/kafka-logs/__consumer_offsets-8/00000000000000000000.index (No such file or directory) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) unter java.io.RandomAccessFile. <init>(RandomAccessFile.java:243) bei kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182) bei kafka.log.AbstractIndex.resize(AbstractIndex.scala:175) bei kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241) bei kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241) bei kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:507) bei kafka.log.Log.$anonfun$roll$8(Log.scala:2037) bei kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037) In der Scala. Option.foreach(Option.scala:437) bei kafka.log.Log.$anonfun$roll$2(Log.scala:2037) bei kafka.log.Log.roll(Log.scala:2453) bei kafka.log.Log.maybeRoll(Log.scala:1988) bei kafka.log.Log.append(Log.scala:1263) bei kafka.log.Log.appendAsLeader(Log.scala:1112) bei kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1069) bei kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1057) at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:958) bei scala.collection.Iterator$$anon$9.next(Iterator.scala:575) bei scala.collection.mutable.Growable.addAll(Growable.scala:62) bei scala.collection.mutable.Growable.addAll$(Growable.scala:57) bei scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692) bei scala.collection.immutable.Map$.from(Map.scala:643) bei scala.collection.immutable.Map$.from(Map.scala:173) bei scala.collection.MapOps.map(Map.scala:266) unter scala.collection.MapOps.map$(Map.scala:266) unter scala.collection.AbstractMap.map(Map.scala:372) bei kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946) bei kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616) unter kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325) unter kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206) unter kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) unter kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178) bei kafka.coordinator.group.delayedJoin.onComplete(DelayedJoin.scala:43) bei kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72) bei kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38) bei kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172) bei scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17) unter kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) bei kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171) bei kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38) bei kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110) bei kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234) unter kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144) bei kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala:1118) bei scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) unter kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) bei kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117) unter kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156) unter kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498) unter scala.collection.immutable.List.map(List.scala:246) unter kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala:470) bei scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) unter kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) unter kafka.coordinator.group.GroupCoordinator.handleLeaveGroup(GroupCoordinator.scala:467) at kafka.server.KafkaApis.handleLeaveGroupRequest(KafkaApis.scala:1659) at kafka.server.KafkaApis.handle(KafkaApis.scala:180) bei kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:74) bei java.lang.Thread.run(Thread.java:748) Fehlerursachen:Linux bereinigt regelmäßig Dateien im /tmp-Verzeichnis, das Kafka-Dateiverzeichnis wird standardmäßig gespeichert/tmp/kafka-logsVerzeichnis, was dazu führt, dass es regelmäßig bereinigt wird, was zu einem abnormalen Programmbetrieb führt.
Unter CentOS 7 gibt es drei Systemdienste, die mit der Bereinigung zusammenhängen:
systemd-tmpfiles-setup.service :Flüchtige Dateien und Verzeichnisse erstellen systemd-tmpfiles-setup-dev.service: Statische Geräteknoten in /dev erstellen systemd-tmpfiles-clean.service :Bereinigung temporärer Verzeichnisse Es gibt außerdem drei verwandte Profile, wie folgt:
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf Verwenden Sie den folgenden Befehl, um die Logs zu tmpfiles einzusehen:
TMP-Verzeichnis in/usr/lib/tmpfiles.d/tmp.confDie Dateikonfiguration ist wie in der folgenden Abbildung dargestellt:
# Diese Datei ist Teil von systemd.
# # SystemD ist freie Software; Du kannst es umverbreiten und/oder anpassen # unter den Bedingungen der GNU Lesser General Public License, wie veröffentlicht von # Die Free Software Foundation; entweder Version 2.1 der Lizenz oder # (nach Wahl) Jede spätere Version.
# Siehe tmpfiles.d(5) für Details
# Lösche TPP-Verzeichnisse separat, um sie leichter zu übersteuern v /tmp 1777 Wurzel 10d v /var/tmp 1777 Wurzel 30d
# Namespace-Mountpoints ausschließen, die mit PrivateTmp=yes erstellt wurden x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
Lösung 1
Ändern Sie Kafkas Konfigurationsdatei /config/server.properties, um die log.dirs-Konfiguration zu ändern, zum Beispiel:
Lösung 2
Füge ein Ausschlussverzeichnis hinzu und bearbeite die Datei: /usr/lib/tmpfiles.d/tmp.conf
(Ende)
|