Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 10663|Répondre: 2

Sous CentOS 7, Kafka raccroche souvent les solutions

[Copié le lien]
Publié sur 22/09/2021 17:31:38 | | | |
Révision:

Le système Kafka Windows se bloque après un certain temps d’exécution
https://www.itsvse.com/thread-9984-1-1.html

ERREUR Kafka Windows : Échec à nettoyer le journal pour __consumer_offsets
https://www.itsvse.com/thread-9980-1-1.html

Utilisez la commande suivante pour vérifier le statut de Kafka en cours. Comme suit:

kafka.service
   Chargé : chargé (/usr/lib/systemd/system/kafka.service ; Activé; préréglage du fournisseur : désactivé)
   Actif : échec (Résultat : code de sortie) depuis mercredi. 2021-09-22 14:43:11 CST ; Il y a 1h 43
  Processus : 7363 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties (code=exited, status=1/FAILURE)
PID principal : 7363 (code=sorti, statut=1/DÉFAILLANCE)

22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,295] WARN [Broker ReplicaManager=1] Arrêt de servir les répliques dans dir/tmp/kafka-logs ( kafka.server.ReplicaManager)
22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,298] AVERTISSEMENT [GroupCoordinator 1] : Échec d’écrire des métadonnées vides pour le groupe KqBatchAna : Ce n’est pas la bonne coordinateur. (kafka.co... upCoordinator)
22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager sur le broker 1] Récupération du récupérateur pour partitions HashSet(__consumer_offsets-22, __ consumer_offsets-30, ...-8, __consumer
22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,304] INFO [ReplicaAlterLogDirsManager sur le broker 1] Récupération du récupérateur pour partitions HashSet(__consumer_ décalages-22, __consumer_offsets... fsets-8, __con
22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] Le broker 1 a arrêté la récupération des partitions __consumer_offsets-22,__ consumer_offsets-30 __consumer_... fsets-21,__con
22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,379] AVERTISSEMENT Arrêt de la diffusion des journaux dans dir/tmp/kafka-logs (kafka.log.LogManager)
22 sept. 14:43:11 devops02 kafka-server-start.sh[7363] : [2021-09-22 14:43:11,386] ERREUR Courtier d’arrêt car tous les dirs de journal dans /tmp/kafka-logs ont échoué (kafka.log.LogManager)
22 sept. 14:43:11 devops02 systemd[1] : kafka.service : processus principal sorti, code=sorti, statut=1/ÉCHEC
22 sept. 14:43:11 devops02 systemd[1] : Unité kafka.service est entrée en état d’échec.
22 sept. 14:43:11 devops02 systemd[1] : kafka.service a échoué.
Hint: Some lines were ellipsized, use -l to show in full.



Rendez-vous dans le répertoire journal Kafka /usr/local/kafka/logs pour consulter les fichiers journals server.log, comme suit :

[2021-09-22 14:43:11,286] ERREUR Erreur lors du déroulement du segment de journal pour __consumer_offsets-8 dans 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(Méthode native)
        sur java.io.RandomAccessFile.open(RandomAccessFile.java :316)
        à java.io.RandomAccessFile. <init>(RandomAccessFile.java :243)
        à kafka.log.AbstractIndex.$anonfun$resize$1(AbstractIndex.scala :182)
        sur 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)
        Chez 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)
        sur kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala :1069)
        sur kafka.cluster.Partition.appendRecordsToLeader(Partition.scala :1057)
        at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala :958)
        sur scala.collection.Iterator$$anon$9.next(Iterator.scala :575)
        sur scala.collection.mutable.Growable.addAll(Growable.scala :62)
        sur scala.collection.mutable.Growable.addAll$(Growable.scala :57)
        sur scala.collection.immutable.MapBuilderImpl.addAll(Map.scala :692)
        sur scala.collection.immutable.Map$.from(Map.scala :643)
        sur scala.collection.immutable.Map$.from(Map.scala :173)
        sur scala.collection.MapOps.map(Map.scala :266)
        sur scala.collection.MapOps.map$(Map.scala :266)
        sur scala.collection.AbstractMap.map(Map.scala :372)
        at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala :946)
        sur kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala :616)
        sur kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala :325)
        sur kafka.coordinator.group.GroupCoordinator.$anonfun$onCompleteJoin$1(GroupCoordinator.scala :1206)
        sur kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala :227)
        sur kafka.coordinator.group.GroupCoordinator.onCompleteJoin(GroupCoordinator.scala :1178)
        sur kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala :43)
        sur kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala :72)
        sur kafka.coordinator.group.DelayedJoin.$anonfun$tryComplete$1(DelayedJoin.scala :38)
        sur kafka.coordinator.group.GroupCoordinator.$anonfun$tryCompleteJoin$1(GroupCoordinator.scala :1172)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala :17)
        sur kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala :227)
        sur kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala :1171)
        sur kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala :38)
        sur kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala :110)
        sur kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala :234)
        sur kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala :1144)
        sur kafka.coordinator.group.GroupCoordinator.$anonfun$maybePrepareRebalance$1(GroupCoordinator.scala :1118)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala :18)
        sur kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala :227)
        sur kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala :1117)
        sur kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala :1156)
        sur kafka.coordinator.group.Group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala :498)
        sur scala.collection.immutable.List.map(List.scala :246)
        sur kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$2(GroupCoordinator.scala :470)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala :18)
        sur kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala :227)
        sur 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)

Causes d’erreur :Linux nettoie régulièrement les fichiers dans le dossier /tmp, le répertoire de fichiers kafka est stocké par défaut/tmp/kafka-logsce qui provoquait un nettoyage régulier, entraînant un fonctionnement anormal du programme.

Sous CentOS 7, il existe 3 services système liés au nettoyage :

systemd-tmpfiles-setup.service : Créer des fichiers et répertoires volatils
systemd-tmpfiles-setup-dev.service : Créer des nœuds de périphériques statiques dans /dev
systemd-tmpfiles-clean.service : Nettoyage des annuaires temporaires

Il existe également 3 profils liés, comme suit :

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

Utilisez la commande suivante pour consulter les journaux liés aux fichiers tmp :



Répertoire TMP dans/usr/lib/tmpfiles.d/tmp.confLa configuration du fichier est celle illustrée dans la figure suivante :

# Ce fichier fait partie de systemd.
#
# SystemD est un logiciel libre ; Vous pouvez le redistribuer et/ou le modifier
# selon les termes de la licence publique générale mineure GNU telle que publiée par
# la Free Software Foundation ; soit la version 2.1 de la licence, soit
# (à votre choix) Toute version ultérieure.

# Voir tmpfiles.d(5) pour plus de détails

# Effacez séparément les annuaires tmp, pour les rendre plus faciles à dépasser
v /tmp 1777 racine 10d
v /var/tmp 1777 racine racine 30d

# Exclure les points de montage d’espace de noms créés avec PrivateTmp=oui
x /tmp/systemd-private- %b-*
X /tmp/systemd-private- %b-*/tmp
x /var/tmp/systemd-private- %b-*
X /var/tmp/systemd-private- %b-*/tmp



Solution 1

Modifier le fichier de configuration de Kafka /config/server.properties pour modifier la configuration des log.dirs, par exemple :



Solution 2

Ajoutez un répertoire d’exclusion et modifiez le fichier : /usr/lib/tmpfiles.d/tmp.conf


(Fin)




Précédent:CentOS 7 installe l’environnement d’exécution avec ASP.NET Core 3.1
Prochain:Introduction briève de la commande nslookup
Publié sur 22/09/2021 19:51:17 |
Reviens apprendre encore une fois。。。。。
 Propriétaire| Publié sur 07/02/2022 14:31:46 |
Regarde la commande du journal de nettoyage :


02 févr. 18:18:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires...
02 févr. 18:18:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires.
03 févr. 18:19:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires...
3 févr. 18:19:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires.
04 févr. 18:20:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires...
04 févr. 18:20:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires.
5 févr. 18:21:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires...
5 févr. 18:21:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires.
6 févr. 18:22:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires...
6 févr. 18:22:09 centos7-itsvse systemd[1] : Début du nettoyage des annuaires temporaires.
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com