Recenzie:
Folosește următoarea comandă pentru a verifica starea de rulare a lui Kafka. Așa cum urmează:
kafka.service Încărcat: încărcat (/usr/lib/systemd/system/kafka.service; Activat; presetare vânzător: dezactivat) Activ: eșuat (Rezultat: cod de ieșire) din miercuri 2021-09-22 14:43:11 CST; Acum 1h 43 min Proces: 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE) PID principal: 7363 (cod=ieșit, status=1/DEFECT)
22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] AVERTISMENT [ReplicaManager broker=1] Oprirea servirii replicilor în dir/tmp/kafka-logs ( kafka.server.ReplicaManager) 22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] AVERTISMENT [GroupCoordinator 1]: Nu s-a scris metadate goale pentru grupul KqBatchAna: Aceasta nu este corectă Coordonator. (kafka.co... upCoordinator) 22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager pe brokerul 1] A fost eliminat fetcher-ul pentru partițiile HashSet(__consumer_offsets-22, __ consumer_offsets-30, ...-8, __consumer 22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,304] INFO [ReplicaAlterLogDirsManager pe brokerul 1] A eliminat fetcher-ul pentru partițiile HashSet(__consumer_ offsets-22, __consumer_offsets... fsets-8, __con 22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] Brokerul 1 a oprit preluarea partițiilor __consumer_offsets-22,__ consumer_offsets-30.__consumer_... fsets-21,__con 22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] AVERTISMENT Oprirea servirii jurnalelor în dir/tmp/kafka-logs (kafka.log.LogManager) 22 septembrie 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] EROARE Broker de oprire pentru că toate direcțiile de log din /tmp/kafka-logs au eșuat (kafka.log.LogManager) Sep 22 14:43:11 devops02 systemd[1]: kafka.service: process principal exited, code=exited, status=1/FAILURE 22 septembrie 14:43:11 devops02 systemd[1]: Unitatea kafka.service a intrat în stare de eșec. 22 septembrie 14:43:11 devops02 systemd[1]: kafka.service a eșuat.
Hint: Some lines were ellipsized, use -l to show in full.
Accesați directorul de jurnal Kafka /usr/local/kafka/logs pentru a vizualiza fișierele de jurnal server.log, după cum urmează:
[2021-09-22 14:43:11,286] EROARE: Eroare la rularea segmentului de log pentru __consumer_offsets-8 în dir/tmp/kafka-logs (kafka.server.LogDirFailureChannel)
java.io.FileNotFoundException: /tmp/kafka-logs/__consumer_offsets-8/00000000000000000000.index (No such file or directory) la java.io.RandomAccessFile.open0(Metoda nativă) la java.io.RandomAccessFile.open(RandomAccessFile.java:316) la java.io.RandomAccessFile. <init>(RandomAccessFile.java:243) la kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182) la kafka.log.AbstractIndex.resize(AbstractIndex.scala:175) la kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241) la kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241) la kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:507) la kafka.log.Log.$anonfun$roll$8(Log.scala:2037) la kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037) La Scala. Option.foreach(Option.scala:437) la kafka.log.Log.$anonfun$roll$2(Log.scala:2037) la kafka.log.Log.roll(Log.scala:2453) la kafka.log.Log.maybeRoll(Log.scala:1988) la kafka.log.Log.append(Log.scala:1263) la kafka.log.Log.appendAsLeader(Log.scala:1112) la kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1069) la kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1057) at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:958) la scala.collection.Iterator$$anon$9.next(Iterator.scala:575) la scala.collection.mutable.Growable.addAll(Growable.scala:62) la scala.collection.mutable.Growable.addAll$(Growable.scala:57) la scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692) la scala.collection.immutable.Map$.from(Map.scala:643) la scala.collection.immutable.Map$.from(Map.scala:173) la scala.collection.MapOps.map(Map.scala:266) la scala.collection.MapOps.map$(Map.scala:266) la scala.collection.AbstractMap.map(Map.scala:372) la kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946) la kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616) la kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325) la kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206) la kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) la kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178) la kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43) la kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72) la kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38) la kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172) at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17) la kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) la kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171) la kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38) la kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110) la kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234) la kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144) la kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala:118) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) la kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) la kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117) la kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156) la kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498) la scala.collection.immutable.List.map(List.scala:246) la kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala:470) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) la kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) la 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) la java.lang.Thread.run(Thread.java:748) Cauzele erorii:Linux curăță regulat fișierele din directorul /tmp, directorul de fișiere Kafka este stocat implicit/tmp/kafka-logsceea ce a făcut ca acesta să fie curățat regulat, rezultând o funcționare anormală a programului.
Sub CentOS 7, există 3 servicii de sistem legate de curățare:
systemd-tmpfiles-setup.service :Creează fișiere și directoare volatile systemd-tmpfiles-setup-dev.service:Creează noduri statice de dispozitive în /dev systemd-tmpfiles-clean.service :Curățarea directoarelor temporare Există, de asemenea, 3 profiluri conexe, după cum urmează:
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf Folosiți următoarea comandă pentru a vizualiza jurnalele legate de fișierele tmp:
Directorul TMP în/usr/lib/tmpfiles.d/tmp.confConfigurația fișierului este așa cum este prezentată în următoarea figură:
# Acest fișier face parte din systemd.
# # systemd este software liber; Poți să o redistribui și/sau să o modifici # conform termenilor GNU Lesser General Public License, așa cum au fost publicați de # Fundația pentru Software Liber; fie versiunea 2.1 a Licenței, fie # (la alegerea ta) Orice versiune ulterioară.
# Vezi tmpfiles.d(5) pentru detalii
# Șterge separat directoarele tmp, pentru a le suprascrie mai ușor v /tmp 1777 rădăcină 10d v /var/tmp 1777 rădăcină 30d
# Exclude mountpoint-urile din spațiul de nume create cu PrivateTmp=da x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
Soluția 1
Modifică fișierul de configurare al Kafka /config/server.properties pentru a modifica configurația log.dirs, de exemplu:
Soluția 2
Adaugă un director de excludere și editează fișierul: /usr/lib/tmpfiles.d/tmp.conf
(Sfârșit)
|