Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 10663|Odpoveď: 2

Pod CentOS 7 Kafka často odkladá riešenia

[Kopírovať odkaz]
Zverejnené 22. 9. 2021 17:31:38 | | | |
Revízia:

Systém Kafka Windows sa po určitom čase zasekne
https://www.itsvse.com/thread-9984-1-1.html

Windows Kafka CHYBA Nepodarilo sa vyčistiť logy pre __consumer_offsets
https://www.itsvse.com/thread-9980-1-1.html

Použite nasledujúci príkaz na kontrolu stavu prevádzky Kafky. Takto:

kafka.service
   Načítané: načítané (/usr/lib/systemd/system/kafka.service; Povolené; prednastavenie dodávateľa: vypnuté)
   Aktívne: neúspešné (Výsledok: výstupný kód) od stredy 22. 9. 2021 o 14:43:11 CST; Pred 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)
Hlavný PID: 7363 (kód=ukončené, stav=1/NEÚSPECH)

Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] WARN [ReplicaManager broker=1] Zastavenie podávania replík v 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] UPOZORNENIE [GroupCoordinator 1]: Nepodarilo sa napísať prázdne metadáta pre skupinu KqBatchAna: Toto nie je správne Koordinátor. (kafka.co... upCoordinator)
Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager na brokerovi 1] Odstránenie fetcher for partitions 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 on broker 1] Odstránil fetcher for partitions HashSet(__consumer_ offsets-22, __consumer_offsets... fsets-8, __con
Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] UPOZORNENIE [ReplicaManager broker=1] Broker 1 zastavil načítavanie partícií __consumer_offsets-22,__ consumer_offsets-30 __consumer_... fsets-21,__con
Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] UPOZORNENIE: Zastavenie podávania logov v smere /tmp/kafka-logs (kafka.log.LogManager)
Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] CHYBA Vypnutie brokera, pretože všetky log smery v /tmp/kafka-logs zlyhali (kafka.log.LogManager)
Sep 22 14:43:11 devops02 systemd[1]: kafka.service: hlavný proces ukončený, code=exited, status=1/FAILURE
Sep 22 14:43:11 devops02 systemd[1]: Jednotka kafka.service vstúpila do stavu neúspechu.
Sep 22 14:43:11 devops02 systemd[1]: kafka.service failed.
Hint: Some lines were ellipsized, use -l to show in full.



Choďte do Kafka log adresára /usr/local/kafka/logs, aby ste si prezreli server.log log súbory, nasledovne:

[2021-09-22 14:43:11,286] ERROR Chyba pri hodení log segmentu pre __consumer_offsets-8 v dir /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)
        na java.io.RandomAccessFile. <init>(RandomAccessFile.java:243)
        na kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182)
        na kafka.log.AbstractIndex.resize(AbstractIndex.scala:175)
        at kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241)
        at kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241)
        na kafka.log.LogSegment.onBestaňInaktívnySegment(LogSegment.scala:507)
        at kafka.log.Log.$anonfun$roll$8(Log.scala:2037)
        at kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037)
        V Scale. Option.foreach(Option.scala:437)
        at kafka.log.Log.$anonfun$roll$2(Log.scala:2037)
        na kafka.log.Log.roll(Log.scala:2453)
        at kafka.log.Log.maybeRoll (Log.scala:1988)
        at kafka.log.Log.append(Log.scala:1263)
        at kafka.log.Log.appendAsLeader(Log.scala:1112)
        at kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1069)
        at kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1057)
        at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:958)
        at scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
        na scala.collection.mutable.Growable.addAll(Growable.scala:62)
        na scala.collection.mutable.Growable.addAll$(Growable.scala:57)
        na scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692)
        na scala.collection.immutable.Map$.from(Map.scala:643)
        at scala.collection.immutable.Map$.from(Map.scala:173)
        na scala.collection.MapOps.map(Map.scala:266)
        na scala.collection.MapOps.map$(Map.scala:266)
        na scala.collection.AbstractMap.map(Map.scala:372)
        at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946)
        at kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616)
        at kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325)
        na kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206)
        at kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227)
        na kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178)
        na kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43)
        na kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72)
        na kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38)
        na kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17)
        at kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227)
        na kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171)
        na kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38)
        at kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110)
        na kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234)
        at kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144)
        na kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala:1118)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227)
        na kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117)
        na kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156)
        na kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498)
        na scala.collection.immutable.List.map(List.scala:246)
        na kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala:470)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227)
        na 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)
        at java.lang.Thread.run(Thread.java:748)

Chyba spôsobuje:Linux pravidelne čistí súbory v adresári /tmp, adresár súborov Kafka je uložený predvolene/tmp/kafka-logsčo spôsobovalo jeho pravidelné čistenie, čo viedlo k abnormálnemu fungovaniu programu.

Pod CentOS 7 existujú 3 systémové služby súvisiace s čistením:

systemd-tmpfiles-setup.service :Vytváraj volatile súbory a adresáre
systemd-tmpfiles-setup-dev.service:Create static device nodes in /dev
systemd-tmpfiles-clean.service :Čistenie dočasných adresárov

Existujú aj 3 súvisiace profily, a to nasledovne:

/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf

Použite nasledujúci príkaz na zobrazenie logov súvisiacich s tmpfiles:



TMP adresár v/usr/lib/tmpfiles.d/tmp.confKonfigurácia súboru je znázornená na nasledujúcom obrázku:

# Tento súbor je súčasťou systemd.
#
# systemd je slobodný softvér; Môžete ho ďalej distribuovať a/alebo upravovať
# podľa podmienok licencie GNU Lesser General Public License publikovanej
# Nadácia slobodného softvéru; buď verzia 2.1 licencie, alebo
# (podľa vášho výberu) Neskoršia verzia.

# Podrobnosti nájdete v tmpfiles.d(5)

# Vymažte tmp adresáre samostatne, aby sa ľahšie prepisovali
v /tmp 1777 koreňový koreň 10d
v /var/tmp 1777 koreňový koreň 30d

# Vylúčiť mountpointy menného priestoru vytvorené pomocou PrivateTmp=áno
x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp



Riešenie 1

Upravte konfiguračný súbor Kafky /config/server.properties tak, aby ste upravili konfiguráciu log.dirs, napríklad:



Riešenie 2

Pridajte adresár vylúčení a upravte súbor: /usr/lib/tmpfiles.d/tmp.conf


(Koniec)




Predchádzajúci:CentOS 7 inštaluje runtime prostredie s ASP.NET Core 3.1
Budúci:Krátko zavedené velenie nslookup
Zverejnené 22. 9. 2021 19:51:17 |
Príďte sa znova učiť。。。。。
 Prenajímateľ| Zverejnené 7. 2. 2022 14:31:46 |
Pozrite si príkaz na upratovanie logu:


2. februára 18:18:09 centos7-itsvse systemd[1]: Začíname čistenie dočasných adresárov...
2. februára 18:18:09 centos7-itsvse systemd[1]: Začalo sa čistenie dočasných adresárov.
3. februára 18:19:09 centos7-itsvse systemd[1]: Začíname čistenie dočasných adresárov...
3. februára 18:19:09 centos7-itsvse systemd[1]: Začalo sa čistenie dočasných adresárov.
4. februára 18:20:09 centos7-itsvse systemd[1]: Začíname čistenie dočasných adresárov...
04. februára 18:20:09 centos7-itsvse systemd[1]: Začalo sa čistenie dočasných adresárov.
5. februára 18:21:09 centos7-itsvse systemd[1]: Začíname čistenie dočasných adresárov...
5. februára 18:21:09 centos7-itssve systemd[1]: Začalo sa čistenie dočasných adresárov.
6. februára 18:22:09 centos7-itsvse systemd[1]: Začíname čistenie dočasných adresárov...
6. februára 18:22:09 centos7-itsvse systemd[1]: Začalo sa čistenie dočasných adresárov.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com