Recensie:
Gebruik het volgende commando om de Kafka-status te controleren. Als volgt:
Kafka.Service Geladen: geladen (/usr/lib/systemd/system/kafka.service; Ingeschakeld; leverancierspreset: uitgeschakeld) Actief: mislukt (Resultaat: exit-code) sinds wo 2021-09-22 14:43:11 CST; 1 uur 43 minuten geleden Proces: 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE) Hoofd-PID: 7363 (code=afgesloten, status=1/FAILURE)
22 sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] WAARSCHUW [ReplicaManager broker=1] Stoppen met het serveren van replica's in dir /tmp/kafka-logs ( kafka.server.ReplicaManager) 22 sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] WAARSCHUW [GroupCoordinator 1]: Niet in het schrijven van lege metadata voor groep KqBatchAna: Dit is niet de juiste coördinator. (kafka.co... upCoordinator) 22 sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager op broker 1] Verwijderde fetcher voor partities 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 op broker 1] Verwijderde fetcher voor partities 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] WAARSCHUW [ReplicaManager broker=1] Broker 1 stopte fetcher voor partities __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] WAARSCHUW Stoppen met het serveren van logs in dir /tmp/kafka-logs (kafka.log.LogManager) 22 sep 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] FOUT Afsluitbroker omdat alle logbestanden in /tmp/kafka-logs zijn mislukt (kafka.log.LogManager) 22 sep 14:43:11 devops02 systemd[1]: kafka.service: hoofdproces afgesloten, code=exited, status=1/FAILURE 22 sep 14:43:11 devops02 systemd[1]: Unit kafka.service ging in fail-toestand. 22 sep 14:43:11 devops02 systemd[1]: kafka.service faalde.
Hint: Some lines were ellipsized, use -l to show in full.
Ga naar de Kafka-logmap /usr/local/kafka/logs om de server.log logbestanden te bekijken, als volgt:
[2021-09-22 14:43:11,286] ERROR Fout bij het rollen van logsegment voor __consumer_offsets-8 in dir /tmp/kafka-logs (kafka.server.LogDirFailureChannel)
java.io.FileNotFoundException: /tmp/kafka-logs/__consumer_offsets-8/00000000000000000000.index (No such file or directory) op java.io.RandomAccessFile.open0(Native Method) op java.io.RandomAccessFile.open(RandomAccessFile.java:316) op java.io.RandomAccessFile. <init>(RandomAccessFile.java:243) op kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182) op kafka.log.AbstractIndex.resize(AbstractIndex.scala:175) op kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241) op kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241) op kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:507) op kafka.log.Log.$anonfun$roll$8(Log.scala:2037) op kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037) Op Scala. Option.foreach(Option.scala:437) op kafka.log.Log.$anonfun$roll$2(Log.scala:2037) op kafka.log.Log.roll(Log.scala:2453) op kafka.log.Log.maybeRoll(Log.scala:1988) op kafka.log.Log.append(Log.scala:1263) op kafka.log.Log.appendAsLeader(Log.scala:1112) op kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1069) op kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1057) op kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:958) op scala.collection.Iterator$$anon$9.next(Iterator.scala:575) op scala.collection.mutable.Growable.addAll(Growable.scala:62) op scala.collection.mutable.Growable.addAll$(Growable.scala:57) op scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692) op scala.collection.immutable.Map$.from(Map.scala:643) op scala.collection.immutable.Map$.from(Map.scala:173) op scala.collection.MapOps.map(Map.scala:266) op scala.collection.MapOps.map$(Map.scala:266) op scala.collection.AbstractMap.map(Map.scala:372) op kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946) op kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616) op kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325) op kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206) op kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) op kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178) op kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43) op kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72) op kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38) op kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172) op scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17) op kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) op kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171) op kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38) op kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110) op kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234) op kafka.coordinator.group.GroupCoordinator.prepareRebalanceRebalance(GroupCoordinator.scala:1144) op kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala:1118) op scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) op kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) op kafka.coördinator.groep.GroepCoördinator.maybePrepareRebalance(GroupCoördinator.scala:1117) op kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156) op kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498) op scala.collection.immutable.List.map(List.scala:246) op kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala:470) op scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) op kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) op kafka.coordinator.group.GroupCoordinator.handleLeaveGroup(GroupCoordinator.scala:467) op kafka.server.KafkaApis.handleLeaveGroupRequest(KafkaApis.scala:1659) op kafka.server.KafkaApis.handle(KafkaApis.scala:180) op kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:74) op java.lang.Thread.run(Thread.java:748) Foutoorzaken:Linux maakt regelmatig bestanden schoon in de /tmp-map, de kafka-bestandsmap wordt standaard opgeslagen/tmp/kafka-logsdirectory, waardoor deze regelmatig wordt opgeschoond, wat resulteert in abnormale programma-werking.
Onder CentOS 7 zijn er 3 systeemdiensten gerelateerd aan opruimen:
systemd-tmpfiles-setup.service :Maak vluchtige bestanden en mappen aan systemd-tmpfiles-setup-dev.service:Maak statische apparaatknooppunten aan in /dev systemd-tmpfiles-clean.service :Schoonmaak van tijdelijke mappen Er zijn ook 3 gerelateerde profielen, als volgt:
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf Gebruik het volgende commando om de logs te bekijken die betrekking hebben op tmpfiles:
TMP-directory in/usr/lib/tmpfiles.d/tmp.confDe bestandsconfiguratie is zoals weergegeven in de volgende figuur:
# Dit bestand maakt deel uit van systemd.
# # SystemD is vrije software; Je kunt het herdistribueren en/of aanpassen # onder de voorwaarden van de GNU Lesser General Public License zoals uitgegeven door # De Vrije Software Stichting; ofwel versie 2.1 van de licentie, of # (Naar keuze) Elke latere versie.
# Zie tmpfiles.d(5) voor details
# Maak tmp-mappen apart schoon, zodat ze makkelijker te overschrijven zijn v /tmp 1777 wortelstam 10d v /var/tmp 1777 wortelstam 30d
# Sluit namespace-mountpoints uit die zijn gemaakt met PrivateTmp=ja x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
Oplossing 1
Pas Kafka's configuratiebestand /config/server.properties aan om bijvoorbeeld de log.dirs-configuratie aan te passen:
Oplossing 2
Voeg een uitsluitingsmap toe en bewerk het bestand: /usr/lib/tmpfiles.d/tmp.conf
(Einde)
|