Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 10663|Отговор: 2

При CentOS 7 Кафка често спира решенията

[Копирай линк]
Публикувано в 22.09.2021 г. 17:31:38 ч. | | | |
Преглед:

Системата Kafka Windows затваря след определен период на работа
https://www.itsvse.com/thread-9984-1-1.html

Windows Kafka ГРЕШКА Не успя да почисти лога за __consumer_offsets
https://www.itsvse.com/thread-9980-1-1.html

Използвайте следната команда, за да проверите статуса на Kafka на бягане. Както следва:

kafka.service
   Заредено: заредено (/usr/lib/systemd/system/kafka.service; Разрешено; Пресет на доставчика: деактивиран)
   Активно: неуспешно (Резултат: код за изход) от сряда 2021-09-22 14:43:11 CST; Преди 1 ч и 43 минути
  Процес: 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE)
Основен PID: 7363 (код=излез, статус=1/FAILURE)

22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] ПРЕДУПРЕЖДЕНИЕ [ReplicaManager broker=1] Спиране на обслужването на реплики в директор /tmp/kafka-logs ( kafka.server.ReplicaManager)
22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] ПРЕДУПРЕЖДЕНИЕ [GroupCoordinator 1]: Не успя да се напише празни метаданни за групата KqBatchAna: Това не е правилно Координатор. (kafka.co... upCoordinator)
22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] ИНФОРМАЦИЯ [ReplicaFetcherManager на брокер 1] Премахнат fetcher за дялове HashSet(__consumer_offsets-22, __ consumer_offsets-30, ...-8, __consumer
22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,304] ИНФОРМАЦИЯ [ReplicaAlterLogDirsManager на брокер 1] Премахнат fetcher за дялове HashSet(__consumer_ Офсети-22, __consumer_offsets... FSETS-8, __con
22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] Брокер 1 спря fetcher за дялове __consumer_offsets-22,__ consumer_offsets-30,__consumer_... FSET-21,__con
22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] ПРЕДУПРЕЖДЕНИЕ Спиране на сервирането на логове в директор /tmp/kafka-logs (kafka.log.LogManager)
22 сеп 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] ГРЕШКА Брокер за изключване, защото всички лог директори в /tmp/kafka-logs са се провалили (kafka.log.LogManager)
22 сеп 14:43:11 devops02 systemd[1]: kafka.service: основният процес е излязъл, code=exited, status=1/FAILURE
22 сеп 14:43:11 devops02 systemd[1]: Unit kafka.service влезе в неуспешно състояние.
22 сеп 14:43:11 devops02 systemd[1]: kafka.service failed.
Hint: Some lines were ellipsized, use -l to show in full.



Отидете в директорията Kafka log /usr/local/kafka/logs, за да видите server.log лог файлове, както следва:

[2021-09-22 14:43:11,286] ГРЕШКА Грешка при търкаляне на лог сегмент за __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)
        на java.io.RandomAccessFile.open0(Native Method)
        на java.io.RandomAccessFile.open(RandomAccessFile.java:316)
        на java.io.RandomAccessFile. <init>(RandomAccessFile.java:243)
        на kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182)
        на kafka.log.AbstractIndex.resize(AbstractIndex.scala:175)
        на kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241)
        на kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241)
        на kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:507)
        на kafka.log.Log.$anonfun$roll$8(Log.scala:2037)
        на kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037)
        В Скала. Option.foreach(Option.scala:437)
        на kafka.log.Log.$anonfun$roll$2(Log.scala:2037)
        на kafka.log.Log.roll(Log.scala:2453)
        на kafka.log.Log.maybeRoll(Log.scala:1988)
        на kafka.log.Log.append(Log.scala:1263)
        на 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)
        на scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
        на scala.collection.mutable.Growable.addAll(Growable.scala:62)
        на scala.collection.mutable.Growable.addAll$(Growable.scala:57)
        на scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692)
        на scala.collection.immutable.Map$.from(Map.scala:643)
        на scala.collection.immutable.Map$.from(Map.scala:173)
        на scala.collection.MapOps.map(Map.scala:266)
        на scala.collection.MapOps.map$(Map.scala:266)
        на scala.collection.AbstractMap.map(Map.scala:372)
        at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946)
        at kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616)
        на kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325)
        на kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206)
        at kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227)
        на kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178)
        на kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43)
        на kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72)
        на kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38)
        at 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)
        на kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171)
        на kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38)
        на kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110)
        на kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234)
        на kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144)
        на 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)
        на kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117)
        на kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156)
        на kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498)
        на scala.collection.immutable.List.map(List.scala:246)
        на 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)
        на 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)

Причините за грешки:Linux редовно почиства файловете в директорията /tmp, директорията с файлове Kafka се съхранява по подразбиране/tmp/kafka-logsдиректория, което води до редовно почистване и необичайна работа на програмата.

Под CentOS 7 има 3 системни услуги, свързани с почистването:

systemd-tmpfiles-setup.service :Create Volatile Files and Directories
systemd-tmpfiles-setup-dev.service: Създаване на статични възли на устройства в /dev
systemd-tmpfiles-clean.service :Почистване на временни директории

Има и 3 свързани профила, както следва:

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

Използвайте следната команда, за да прегледате логовете, свързани с tmpfiles:



Директория на TMP в/usr/lib/tmpfiles.d/tmp.confКонфигурацията на файловете е показана на следната фигура:

# Този файл е част от systemd.
#
# systemd е свободен софтуер; Можете да го разпространявате и/или модифицирате
# съгласно условията на GNU Lesser General Public License, публикуван от
# Фондация за свободен софтуер; или версия 2.1 на лиценза, или
# (по ваш избор) Всяка по-късна версия.

# Вижте tmpfiles.d(5) за подробности

# Изчистете tmp директориите поотделно, за да ги направите по-лесни за презаписване
v /tmp 1777 корен 10d
v /var/tmp 1777 корен 30d

# Изключване на маунтпойнти от namespace, създадени с PrivateTmp=да
x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp



Решение 1

Променете конфигурационния файл на Kafka /config/server.properties, за да промените конфигурацията на log.dirs, например:



Решение 2

Добавете директория за изключване и редактирайте файла: /usr/lib/tmpfiles.d/tmp.conf


(Край)




Предишен:CentOS 7 инсталира средата за изпълнение с ASP.NET Core 3.1
Следващ:Кратко въведена команда nslookup
Публикувано в 22.09.2021 г. 19:51:17 ч. |
Ела и учи отново。。。。。
 Хазяин| Публикувано в 7.02.2022 г. 14:31:46 ч. |
Вижте командата за дневник на почистване:


02 февруари 18:18:09 centos7-itsvse systemd[1]: Започване на почистването на временните директории...
02 февруари 18:18:09 centos7-itsvse systemd[1]: Започна почистването на временните директории.
03 февруари 18:19:09 centos7-itsvse systemd[1]: Започване на почистването на временните директории...
03 февруари 18:19:09 centos7-itsvse systemd[1]: Започна почистване на временните директории.
04 февруари 18:20:09 centos7-itsvse systemd[1]: Започване на почистването на временните директории...
04 февруари 18:20:09 centos7-itsvse systemd[1]: Започна почистването на временните директории.
05 февруари 18:21:09 centos7-itsvse systemd[1]: Започване на почистването на временните директории...
05 февруари 18:21:09 centos7-itsvse systemd[1]: Започна почистването на временните директории.
06 февруари 18:22:09 centos7-itsvse systemd[1]: Започване на почистването на временните директории...
06 февруари 18:22:09 centos7-itsvse systemd[1]: Започна почистването на временните директории.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com