この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 10663|答える: 2

CentOS 7の下で、カフカはしばしばソリューションを停止します

[リンクをコピー]
掲載地 2021/09/22 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.service
   loaded: loaded(/usr/lib/systemd/system/kafka.service; 有効; ベンダープリセット:無効)
   アクティブ:失敗(結果:終了コード)2021-09-22 水曜日 14:43:11 CSTより; 1時間43分前
  Process: 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)

9月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)
9月22日 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,298] WARN [GroupCoordinator 1]: グループ KqBatchAna の空メタデータを書き込めませんでした コーディネーター。 (kafka.co... upコーディネーター)
9月22日 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,303] INFO [ReplicaFetcherManager on broker 1] パーティションのfetcherを削除しました HashSet(__consumer_offsets-22, __ consumer_offsets-30、...-8、__consumer
9月22日 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,304] INFO [ReplicaAlterLogDirsManager on broker 1] パーティションのfetcherを削除しました HashSet(__consumer_ オフセット-22、__consumer_offsets... FSETS-8、__con
9月22日 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,378] WARN [ReplicaManager broker=1] Broker 1がパーティション__consumer_offsets-22,__のフェッチャーを停止しました consumer_offsets-30、__consumer_... FSETS-21,__con
9月22日 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,379] WARN /tmp/kafka-logs (kafka.log.LogManager)でのログの提供停止
9月22日 14:43:11 devops02 kafka-server-start.sh[7363]: [2021-09-22 14:43:11,386] エラー /tmp/kafka-logs のすべてのログディレクトリが失敗したため(kafka.log.LogManager)
9月22日 14:43:11 devops02 systemd[1]: kafka.service: main process exited, code=exited, status=1/FAILURE
9月22日 14:43:11 devops02 systemd[1]: ユニットkafka.serviceが失敗状態に入った。
9月22日 14:43:11 devops02 systemd[1]: kafka.service failed.
Hint: Some lines were ellipsized, use -l to show in full.



Kafkaのログディレクトリ /usr/local/kafka/logs にアクセスして、server.logログファイルを以下のようにご覧ください。

[2021-09-22 14:43:11,286] ERROR error error error error while rolling log segment for __consumer_offsets-8 in 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)
        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)
        at 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)
        at scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
        scala.collection.mutable.Growable.addAll(Growable.scala:62)
        at 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)
        at kafka.coordinator.group.GroupMetadataManager.storeGroup(GroupMetadataManager.scala:325)
        at 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)
        at kafka.coordinator.group.DelayedJoin.onComplete(DelayedJoin.scala:43)
        kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:72)
        at 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)
        at kafka.coordinator.group.GroupCoordinator.tryCompleteJoin(GroupCoordinator.scala:1171)
        at kafka.coordinator.group.DelayedJoin.tryComplete(DelayedJoin.scala:38)
        at kafka.server.DelayedOperation.safeTryCompleteOrElse(DelayedOperation.scala:110)
        at kafka.server.DelayedOperationPurgatory.tryCompleteElseWatch(DelayedOperation.scala:234)
        at kafka.coordinator.group.GroupCoordinator.prepareRebalance(GroupCoordinator.scala:1144)
        at 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)
        at kafka.coordinator.group.GroupCoordinator.maybePrepareRebalance(GroupCoordinator.scala:1117)
        at kafka.coordinator.group.GroupCoordinator.removeMemberAndUpdateGroup(GroupCoordinator.scala:1156)
        at kafka.coordinator.group.GroupCoordinator.$anonfun$handleLeaveGroup$3(GroupCoordinator.scala:498)
        scala.collection.immutable.List.map(List.scala:246)
        at 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)
        at 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 :揮発性ファイルとディレクトリを作成
systemd-tmpfiles-setup-dev.service:/dev で静的デバイスノードを作成
systemd-tmpfiles-clean.service :一時ディレクトリのクリーンアップ

関連する3つのプロファイルも存在します。

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

tmpファイルに関連するログを見るには、以下のコマンドを使用します:



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で作成された名前空間マウントポイントを除外=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



解決策1

例えば、Kafkaの設定ファイル /config/server.properties を改変してlog.dirsの設定を変更することができます。



解決策2

除外ディレクトリを追加し、ファイルを編集してください:/usr/lib/tmpfiles.d/tmp.conf


(終わり)




先の:CentOS 7はCore 3.1でランタイム環境 ASP.NET インストールします
次に:nslookupコマンドが簡単に導入されました
掲載地 2021/09/22 19:51:17 |
もう一度学びに来てください。。。。。
 地主| 掲載地 2022/02/07 14:31:46 |
クリーンアップログコマンドをチェックしてください:


2月2日 18:18:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始します...
2月2日 18:18:09 centos7-itsvse systemd[1]:一時ディレクトリのクリーンアップを開始しました。
2月3日 18:19:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始します...
2月3日 18:19:09 centos7-itsvse systemd[1]:一時ディレクトリのクリーンアップを開始しました。
2月4日 18:20:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始します...
2月4日 18:20:09 centos7-itsvse systemd[1]:一時ディレクトリのクリーンアップを開始しました。
2月5日 18:21:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始します...
2月5日 18:21:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始しました。
2月6日 18:22:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始します...
2月6日 18:22:09 centos7-itsvse systemd[1]: 一時ディレクトリのクリーンアップを開始しました。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com