Resensi:
Gunakan perintah berikut untuk memeriksa status berjalan Kafka. Sebagai berikut:
kafka.service Dimuat: dimuat (/usr/lib/systemd/system/kafka.service; Diaktifkan; preset vendor: dinonaktifkan) Aktif: gagal (Hasil: kode keluar) sejak Wed 2021-09-22 14:43:11 CST; 1 jam 43 menit yang lalu Proses: 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE) PID Utama: 7363 (kode = keluar, status = 1 / KEGAGALAN)
Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,295] WARN [ReplicaManager broker=1] Menghentikan penyajian replika di 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]: Gagal menulis metadata kosong untuk grup KqBatchAna: Ini bukan benar koordinator. (kafka.co... koordinator atas) Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager di broker 1] Menghapus fetcher untuk partisi 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 pada broker 1] Menghapus fetcher untuk partisi HashSet(__consumer_ offset-22, __consumer_offsets... FSET-8, __con Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] Broker 1 menghentikan pengambilan untuk partisi __consumer_offsets-22,__ consumer_offsets-30,__consumer_... FSET-21,__con Sep 22 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] MEMPERINGATKAN Menghentikan penyajian log di 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] KESALAHAN Shutdown broker karena semua direktur log di /tmp/kafka-logs telah gagal (kafka.log.LogManager) Sep 22 14:43:11 devops02 systemd[1]: kafka.service: proses utama keluar, kode=keluar, status=1/KEGAGALAN Sep 22 14:43:11 devops02 systemd[1]: Unit kafka.service memasuki status gagal. Sep 22 14:43:11 devops02 systemd[1]: kafka.service gagal.
Hint: Some lines were ellipsized, use -l to show in full.
Buka direktori log Kafka /usr/local/kafka/logs untuk melihat file log server.log, sebagai berikut:
[2021-09-22 14:43:11,286] ERROR Kesalahan saat menggulirkan segmen log untuk __consumer_offsets-8 di dir /tmp/kafka-logs (kafka.server.LogDirFailureChannel)
java.io.FileNotFoundException: /tmp/kafka-logs/__consumer_offsets-8/00000000000000000000.index (No such file or directory) di java.io.RandomAccessFile.open0(Metode Asli) di java.io.RandomAccessFile.open(RandomAccessFile.java:316) di java.io.RandomAccessFile. <init>(RandomAccessFile.java:243) di kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala:182) di kafka.log.AbstractIndex.resize(AbstractIndex.scala:175) di kafka.log.AbstractIndex.$anonfun$trimToValidSize$1(AbstractIndex.scala:241) di kafka.log.AbstractIndex.trimToValidSize(AbstractIndex.scala:241) di kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:507) di kafka.log.Log.$anonfun$roll$8(Log.scala:2037) di kafka.log.Log.$anonfun$roll$8$adapted(Log.scala:2037) di Scala. Opsi.foreach(Opsi.scala:437) di kafka.log.Log.$anonfun$roll$2(Log.scala:2037) di kafka.log.Log.roll(Log.scala:2453) di kafka.log.Log.maybeRoll(Log.scala:1988) di kafka.log.Log.append(Log.scala:1263) di kafka.log.Log.appendAsLeader(Log.scala:1112) di kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1069) di kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1057) di kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:958) di scala.collection.Iterator$$anon$9.next(Iterator.scala:575) di scala.collection.mutable.Growable.addAll(Growable.scala:62) di scala.collection.mutable.Growable.addAll$(Growable.scala:57) di scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692) di scala.collection.immutable.Map$.from(Map.scala:643) di scala.collection.immutable.Map$.from(Map.scala:173) di scala.collection.MapOps.map(Map.scala:266) di scala.collection.MapOps.map$(Map.scala:266) di scala.collection.AbstractMap.map(Map.scala:372) di kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:946) di kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:616) di kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325) di kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala:1206) di kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) di kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala:1178) di kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43) di kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72) di kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala:38) di kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala:1172) di scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17) di kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) di kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171) di kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38) di kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110) di kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234) di kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144) di kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala:1118) di scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) di kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) di kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117) di kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156) di kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498) di scala.collection.immutable.List.map(List.scala:246) di kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala:470) di scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) di kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:227) di kafka.coordinator.group.GroupCoordinator.handleLeaveGroup(GroupCoordinator.scala:467) di kafka.server.KafkaApis.handleLeaveGroupRequest(KafkaApis.scala:1659) di kafka.server.KafkaApis.handle(KafkaApis.scala:180) di kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:74) di java.lang.Thread.run(Thread.java:748) Kesalahan menyebabkan:Linux secara teratur membersihkan file di direktori /tmp, direktori file kafka disimpan secara default/tmp/kafka-logs, menyebabkannya dibersihkan secara teratur, mengakibatkan pengoperasian program yang tidak normal.
Di bawah CentOS 7, ada 3 layanan sistem yang terkait dengan pembersihan:
systemd-tmpfiles-setup.service :Buat File dan Direktori yang Mudah Menguap systemd-tmpfiles-setup-dev.service:Membuat simpul perangkat statis di /dev systemd-tmpfiles-clean.service :Pembersihan Direktori Sementara Ada juga 3 profil terkait, sebagai berikut:
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf Gunakan perintah berikut untuk melihat log yang terkait dengan tmpfiles:
tmp di/usr/lib/tmpfiles.d/tmp.confKonfigurasi file seperti yang ditunjukkan pada gambar berikut:
# File ini adalah bagian dari systemd.
# # systemd adalah perangkat lunak gratis; Anda dapat mendistribusikannya kembali dan/atau memodifikasinya # di bawah ketentuan Lisensi Publik Umum Rendah GNU sebagaimana diterbitkan oleh # Yayasan Perangkat Lunak Bebas; versi 2.1 dari Lisensi, atau # (atas pilihan Anda) versi yang lebih baru.
# Lihat tmpfiles.d(5) untuk detailnya
# Hapus direktori tmp secara terpisah, agar lebih mudah diganti v /tmp 1777 root root 10d v /var/tmp 1777 root root 30d
# Kecualikan titik pemasangan namespace yang dibuat dengan PrivateTmp=yes x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
Solusi 1
Ubah file konfigurasi Kafka /config/server.properties untuk memodifikasi konfigurasi log.dirs, misalnya:
Solusi 2
Tambahkan direktori pengecualian dan edit file: /usr/lib/tmpfiles.d/tmp.conf
(Akhir)
|