Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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/ВІДМОВИ)

22 вересня 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] WARN [ReplicaManager broker=1] Припиняю подачу реплік у dir /tmp/kafka-logs ( kafka.server.ReplicaManager)
22 вересня 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] WARNING [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_... FSETS-21,__con
22 вересня 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] WARN Припинення подачі логів у dir /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: main process exited, code=exited, status=1/FAILURE
22 вересня 14:43:11 devops02 systemd[1]: Unit kafka.service увійшов у стан відмови.
22 вересня 14:43:11 devops02 systemd[1]: kafka.service не вдалося.
Hint: Some lines were ellipsized, use -l to show in full.



Перейдіть до каталогу журналів Kafka /usr/local/kafka/logs, щоб переглянути server.log log файли, наступним чином:

[2021-09-22 14:43:11,286] ПОМИЛКА Помилка під час прокату сегмента log для __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)
        У Scala. 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)
        за адресою 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)
        на kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17)
        за адресою 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)
        за адресою 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)
        за адресою 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

# Виключити маунтточки простору назв, створені за допомогою 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 |
Приходь і вчися знову。。。。。
 Орендодавець| Опубліковано 07.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