トピックの削除

注釈

RBAC が有効になっている場合は、トピックを削除するアクセス許可が必要です。RBAC システム管理者にお問い合わせください。

Control Center UI でトピックを手動で削除するか、スクリプトを使用して内部トピックを一括削除できます。

UI でトピックの削除リクエストを行うと、そのトピックに削除のマークが付けられます。トピックは、データが含まれている場合はすぐには削除されませんが、データが含まれていない場合(新しく作成されたトピックなど)はすぐに削除されます。また、削除対象のトピックとそのデータの削除が完了するまで、削除のマークが付いたトピックと同じ名前のトピックを再作成することはできません。

1 つのトピックを削除する

  1. ナビゲーションバーでクラスターを選択します。
  2. Topics クラスターサブメニューをクリックします。Topics ページが表示されます。
  3. トピック名のリンクをクリックします。Overview ページが表示されます。
  4. Configuration タブをクリックします。
  5. Edit settingsDelete topic の順にクリックします。
  6. トピック名を入力してトピックの削除を確認し、Continue をクリックします。

単一の内部トピックの削除

バージョンのアップグレードまたは ID の変更を行うごとに、Control Center では、新しい Control Center インスタンスに対応する新しい内部トピックのセットが作成されます。以前のトピックは新しい Control Center インスタンスでは使用されませんが、ディスク領域を占有し続けます。その結果、内部トピックの削除が必要になる場合があります。特に Confluent サポート によって指示された場合が、これに該当します。

  1. ナビゲーションバーでクラスターを選択します。

  2. Topics クラスターサブメニューをクリックします。All topics ページが表示されます。

  3. 内部トピックを表示するには、Hide internal topics トグルボタンをクリックしてオフにします。内部トピックには、アンダースコアがプレフィックスとして付いています。

    Confluent Control Center での内部トピックの表示
  4. 削除するトピック名のリンクをクリックします。Overview ページが表示されます。

  5. Configuration タブをクリックします。

  6. Edit settingsDelete topic の順にクリックします。トピックの削除を確認するためトピック名の入力が要求されます。

  7. チェックボックスをオンにして、内部トピックを削除しようとしていることを認識しており、影響がある可能性を把握していることを確認します。

    Confluent Control Center での内部トピックの削除の確認

    注意

    内部トピックを削除するとご使用の Confluent Platform インストールにマイナスの影響が及ぶ可能性があります。不安がある場合は、Confluent サポート にお問い合わせください。

  8. Continue をクリックします。トピックに削除のマークが付けられます。

    トピックの削除をキャンセルするには、Cancel をクリックします。

内部トピックの一括削除

Control Center のバージョンのアップグレードや、インスタンス ID の変更を行うと、多数の古い内部トピックが残る場合があります。これらのトピックを手動で削除すると、時間がかかる場合があります。時間を節約するために、control-center-cleanup というクリーンアップスクリプトを使用して、Control Center の古いインスタンスに関連付けられているトピックを削除できます。

スクリプトは、Confluent ホームディレクトリの下にある bin ディレクトリに保管されています。

{CONFLUENT_HOME}/bin/control-center-cleanup

次の画像は、_confluent-controlcenter-6-1-0-1 というプレフィックスが付いた以前の内部トピックのセットと、Control Center のバージョンを 6.1.0 から 6.2.0 にアップグレードした後、_confluent-controlcenter-6-2-0-1 というプレフィックスが付いた新しいセットを示しています。

Control Center の以前のバージョンおよび現在のバージョンに関連付けられたトピック

スクリプトは対話型で、Control Center の実行中にスクリプトを使用して内部トピックを削除できます。このスクリプトでは、プロパティファイルを読み取って、以下を判断します。

  • confluent.controlcenter.name プロパティから実行中のインスタンスの名前を判断します。
  • スクリプトを実行している現在のパッケージに基づいて、動作中の Control Center のバージョンを判断します。
  • confluent.controlcenter.id プロパティ値からインスタンスの識別子を判断します。
  • confluent.controlcenter.data.dir プロパティ値から、Control Center のデータが格納されているディレクトリを判断します。

クリーンアップスクリプトを実行するには、以下の手順に従います。

  1. Control Center バージョン 6.2 以降が稼働していることを確認します。

  2. Confluent ホームディレクトリに移動し、次のコマンドを使用してスクリプトを実行します。このとき、現在のインスタンスのプロパティファイルを渡します。

    control-center-cleanup etc/confluent-control-center/control-center.properties
    

    スクリプトは現在のバージョンを判断し、以前のバージョンを検索します。以前のバージョンのファイルがある場合は、以下のような出力が表示されます。

    The cleanup script found the following instance:
    _confluent-controlcenter-6-2-0-1
    We believe this COULD be the instance defined in your config file so it will not be prompted for cleanup.
    
    Here are the instances discovered for cleanup:
    _confluent-controlcenter-6-1-0-1
    Cleanup ALL of the instances above? [y/N]: N
    
  3. 以前のインスタンスをクリーンアップには y を入力します。N を入力すると、一度に 1 つのインスタンスをクリーンアップするためのプロンプトが表示されます。以下に例を示します。

    Do you want to cleanup _confluent-controlcenter-6-1-0-1 ? [y/N/dryRun]:
    
  4. dryRun と入力すると、スクリプトの出力に、削除されるすべてのファイルが表示されます。その後で、このインスタンスをクリーンアップする(y)か、次のインスタンスに移動する(N)かを指定するよう求められます。以下に例を示します。

    Finished dryRun for _confluent-controlcenter-6-1-0-1 . Do you want to clean it up? [y/N/dryRun]:
    

クリーンアップスクリプトの使用方法の詳細については、「Removing Residue Data with Control Center Cleanup Script」(ブログ記事) を参照してください。