Peržiūra:
Naudokite šią komandą, kad patikrintumėte Kafkos veikimo būseną. Taip:
kafka.paslauga Įkelta: pakrauta (/usr/lib/systemd/system/kafka.service; Įjungtas; Tiekėjo išankstinis nustatymas: išjungtas) Aktyvus: nepavyko (Rezultatas: išėjimo kodas) nuo Tr 2021-09-22 14:43:11 CST; Prieš 1h 43min Procesas: 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE) Pagrindinis PID: 7363 (kodas = išėjo, būsena = 1 / GEDIMAS)
Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] WARN [ReplicaManager broker=1] Sustabdomas replikų aptarnavimas dir /tmp/kafka-logs ( kafka.server.ReplicaManager) Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] WARN [GroupCoordinator 1]: Nepavyko parašyti tuščių grupės metaduomenų KqBatchAna: Tai neteisinga Koordinatorius. (kafka.co... upCoordinator) Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager 1 brokeryje] Pašalintas skaidinių HashSet(__consumer_offsets-22, __ consumer_offsets-30, ...-8, __consumer Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,304] INFO [ReplicaAlterLogDirsManager 1 brokeryje] Pašalintas skaidinių HashSet(__consumer_ poslinkiai-22, __consumer_offsets... fsets-8, __con Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] 1 brokeris sustabdė skaidinių gavimą __consumer_offsets-22,__ consumer_offsets-30,__consumer_... fsetai-21,__con Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] ĮSPĖJIMAS Žurnalų aptarnavimo sustabdymas dir /tmp/kafka-logs (kafka.log.LogManager) Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] KLAIDA Išjungimo brokeris, nes visi žurnalo dirs /tmp/kafka-logs nepavyko (kafka.log.LogManager) Sep 22 14:43:11 devops02 systemd[1]: kafka.service: pagrindinis procesas baigtas, code=exited, status=1/FAILURE Sep 22 14:43:11 devops02 systemd[1]: Vienetas kafka.service pateko į nepavyko būseną. Sep 22 14:43:11 devops02 systemd[1]: kafka.service nepavyko.
Hint: Some lines were ellipsized, use -l to show in full.
Eikite į Kafkos žurnalo katalogą /usr/local/kafka/logs, kad peržiūrėtumėte server.log žurnalo failus, kaip nurodyta toliau:
[2021-09-22 14:43:11,286] KLAIDA Klaida slenkant žurnalo segmentą __consumer_offsets-8 dir /tmp/kafka-logs (kafka.server.LogDirFailureChannel)
java.io.FileNotFoundException: /tmp/kafka-logs/__consumer_offsets-8/00000000000000000000.index (No such file or directory) adresu java.io.RandomAccessFile.open0 (vietinis metodas) java.io.RandomAccessFile.open(RandomAccessFile.java:316) adresu java.io.RandomAccessFile. <init>(RandomAccessFile.java:243) adresu kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182) adresu kafka.log.AbstractIndex.resize(AbstractIndex.scala:175) adresu kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241) adresu kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241) adresu kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:507) adresu kafka.log.Log.$anonfun$roll$8(Log.scala:2037) adresu kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037) Skaloje. Option.foreach(Option.scala:437) kafka.log.Log.$anonfun$roll$2(Log.scala:2037) adresu kafka.log.Log.roll(Log.scala:2453) adresu kafka.log.Log.maybeRoll(Log.scala:1988) kafka.log.Log.append(Log.scala:1263) adresu kafka.log.Log.appendAsLeader(Log.scala:1112) adresu kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1069) adresu kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1057) adresu kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:958) adresu scala.collection.Iterator$$anon$9.next(Iterator.scala:575) adresu scala.collection.mutable.Growable.addAll(Growable.scala:62) adresu scala.collection.mutable.Growable.addAll$(Growable.scala:57) adresu scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692) adresu scala.collection.immutable.Map$.from(Map.scala:643) adresu scala.collection.immutable.Map$.from(Map.scala:173) adresu scala.collection.MapOps.map(Map.scala:266) adresu scala.collection.MapOps.map$(Map.scala:266) adresu scala.collection.AbstractMap.map(Map.scala:372) adresu kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946) adresu kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616) adresu kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325) adresu kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206) adresu kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) adresu kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178) adresu kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43) adresu kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72) adresu kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38) adresu kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172) at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17) adresu kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) adresu kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171) adresu kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38) adresu kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110) adresu kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234) adresu kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144) adresu kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala:1118) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) adresu kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) adresu kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117) adresu kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156) adresu kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498) adresu scala.collection.immutable.List.map(List.scala:246) adresu kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala:470) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) adresu kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) adresu kafka.coordinator.group.GroupCoordinator.handleLeaveGroup(GroupCoordinator.scala:467) at kafka.server.KafkaApis.handleLeaveGroupRequest(KafkaApis.scala:1659) at kafka.server.KafkaApis.handle(KafkaApis.scala:180) at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:74) java.lang.Thread.run(Thread.java:748) Klaidos priežastys:Linux reguliariai valo failus /tmp kataloge, Kafka failų katalogas saugomas pagal numatytuosius nustatymus/tmp/kafka-logskatalogas, todėl jis reguliariai valomas, todėl programa veikia nenormaliai.
Pagal "CentOS 7" yra 3 sistemos paslaugos, susijusios su valymu:
systemd-tmpfiles-setup.service: Sukurti nepastovius failus ir katalogus systemd-tmpfiles-setup-dev.service:Statinių įrenginių mazgų kūrimas /dev systemd-tmpfiles-clean.service :Laikinųjų katalogų valymas Taip pat yra 3 susiję profiliai:
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf Naudokite šią komandą, kad peržiūrėtumėte žurnalus, susijusius su tmpfiles:
TMP katalogas/usr/lib/tmpfiles.d/tmp.confFailo konfigūracija yra tokia, kaip parodyta šiame paveikslėlyje:
# Šis failas yra systemd dalis.
# # systemd yra nemokama programinė įranga; galite jį platinti ir (arba) modifikuoti # pagal GNU Lesser General Public License sąlygas, paskelbtas # Laisvosios programinės įrangos fondas; Licencijos 2.1 versiją arba # (jūsų pasirinkimu) bet kokia vėlesnė versija.
# Daugiau informacijos rasite tmpfiles.d(5)
# Išvalyti tmp katalogus atskirai, kad juos būtų lengviau perrašyti v /tmp 1777 šaknies šaknis 10d v /var/tmp 1777 šaknies šaknis 30d
# Neįtraukti vardų srities tvirtinimo taškų, sukurtų naudojant PrivateTmp=yes x /tmp/systemd-privatus-%b-* X /tmp/systemd-privatus-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
1 sprendimas
Modifikuokite Kafkos konfigūracijos failą /config/server.properties, kad pakeistumėte log.dirs konfigūraciją, pvz.:
2 sprendimas
Pridėkite išskyrimo katalogą ir redaguokite failą: /usr/lib/tmpfiles.d/tmp.conf
(Pabaiga)
|