[Donationsのために書く]の一部として寄付を受け取りましたプログラム。Kafkaは、大量のリアルタイムデータを効率的に処理するように設計された人気のある分散メッセージブローカーです。[ActiveMQ]やhttps://www.rabbitmqなどの他のメッセージブローカーと比較してスループットがはるかに高くなっています。[RabbitMQ]。subscribe_メッセージングシステムとして使用されますが、公開されたメッセージの永続的なストレージを提供するため、多くの組織がログの集約にも使用しています。パブリッシュ/サブスクライブメッセージングシステムにより、1人または複数のプロデューサーが、コンシューマの数やメッセージの処理方法を考慮することなく、メッセージをパブリッシュできます。登録されたクライアントには、更新および新しいメッセージの作成が自動的に通知されます。このシステムは、クライアントが定期的にポーリングして新しいメッセージが利用可能かどうかを判断するシステムよりも効率的でスケーラブルです。2.1.1をインストールして使用します。従うには、次のものが必要です。18.04サーバーと、sudo特権を持つ非rootユーザー。[ガイド]で指定されている手順に従ってください。サーバー上に少なくとも4GBのRAM。この量のRAMなしでインストールすると、起動時にhttps://en.wikipedia.org/wiki/Java_virtual_machine[Java仮想マシン(JVM)]が「メモリ不足」例外をスローして、Kafkaサービスが失敗する場合があります。8がサーバーにインストールされています。OpenJDKの特定のバージョンのインストールに関するこれらの指示]。KafkaはJavaで記述されているため、JVMが必要です。その起動シェルスクリプトにはバージョン検出のバグがあり、8以上のJVMバージョンでは起動に失敗します。ステップ1-Kafkaのユーザーの作成Kafkaはネットワーク経由でリクエストを処理できるため、専用のユーザーを作成する必要があります。これにより、Kafkaサーバーが侵害された場合のUbuntuマシンへの損傷が最小限に抑えられます。*ユーザーを作成しますが、Kafkaのセットアップが完了したら、このサーバーで他のタスクを実行するために別の非rootユーザーを作成する必要があります。*というユーザーを作成します。`フラグは、ユーザーのホームディレクトリが作成されることを保証します。+`は、以下のセクションのコマンドを実行するためのワークスペースディレクトリとして機能します。+`を使用してパスワードを設定します。+`グループに追加し、Kafkaの依存関係をインストールするために必要な権限を付与します。*ユーザーの準備が整いました。+`を使用してこのアカウントにログインします。kafkaKafka固有のユーザーを作成したので、Kafkaバイナリのダウンロードと抽出に進みます。*ユーザーのホームディレクトリ内の専用フォルダーに抽出しましょう。+`を使用して、Kafkaバイナリをダウンロードします。+`というディレクトリを作成し、このディレクトリに移動します。これは、Kafkaインストールのベースディレクトリになります。+`コマンドを使用して、ダウンロードしたアーカイブを解凍します。+`自体に抽出されるようにします。バイナリのダウンロードと抽出が正常に完了したので、トピックの削除を許可するための設定をKafkaに進めます。ステップ3-Kafkaサーバーの構成Kafkaのデフォルトの動作では、topic、メッセージを公開できるカテゴリ、グループ、またはフィード名を削除することはできません。これを変更するには、構成ファイルを編集しましょう。server.properties」で指定されます。+`またはお気に入りのエディターで開きます。~/kafka/config/server.propertiesKafkaトピックを削除できる設定を追加しましょう。ファイルの最後に次を追加します。Kafkaを構成したので、起動時にsystemdユニットファイルを作成して実行し、有効化することに進みます。files]を作成します。一般的なサービスアクションを実行するのに役立ちます。Zookeeperは、Kafkaがクラスターの状態と構成を管理するために使用するサービスです。通常、多くの分散システムで不可欠なコンポーネントとして使用されます。docs]をご覧ください。+`のユニットファイルを作成します。/etc/systemd/system/zookeeper.service次のユニット定義をファイルに入力します。+`セクションは、Zookeeperがネットワークを必要とし、ファイルシステムが起動する前に準備ができていることを指定します。+`シェルファイルを使用することを指定します。異常終了した場合にZookeeperを自動的に再起動するように指定します。+`のsystemdサービスファイルを作成します。/etc/systemd/system/kafka.service次のユニット定義をファイルに入力します。`に依存することを指定します。+`が自動的に開始されます。+`シェルファイルを使用することを指定します。異常終了した場合にKafkaを自動的に再起動するように指定します。ユニットが定義されたので、次のコマンドでKafkaを起動します。+`ユニットのジャーナルログを確認します。kafka次のような出力が表示されます。+`でリッスンするKafkaサーバーができました。`サービスを開始しましたが、サーバーを再起動しても、自動的には開始されません。kafkaサービスを開始して有効にしたので、インストールを確認しましょう。World」*メッセージを公開および使用して、Kafkaサーバーが正しく動作していることを確認しましょう。Kafkaでメッセージを公開するには、次のものが必要です。レコードおよびデータをトピックに公開できます。トピックからメッセージとデータを読み取る_consumer_。+」という名前のトピックを作成します。+`スクリプトを使用して、コマンドラインからプロデューサーを作成できます。引数として、Kafkaサーバーのホスト名、ポート、トピック名が必要です。+`トピックに公開します。+`スクリプトを使用してKafkaコンシューマーを作成できます。ZooKeeperサーバーのホスト名とポート、および引数としてのトピック名が必要です。`からのメッセージを消費します。+`フラグの使用に注意してください。これにより、コンシューマーが開始される前に発行されたメッセージを消費できます。Hello、World」と表示されるはずです。Worldスクリプトは引き続き実行され、トピックにさらにメッセージが発行されるのを待ちます。新しいターミナルを開いてプロデューサーを開始し、さらにいくつかのメッセージを公開してください。これらすべてを消費者の出力で見ることができるはずです。+`を押してコンシューマスクリプトを停止します。インストールのテストが完了したので、KafkaTのインストールに進みましょう。ステップ6-KafkaTのインストール(オプション)KafkaTは、Airbnbのツールで、Kafkaクラスターに関する詳細を表示し、コマンドラインから特定の管理タスクを実行しやすくします。gemであるため、使用するにはRubyが必要です。`パッケージも必要です。+`を使用してインストールします。build-essentialgemコマンドを使用して、KafkaTをインストールできるようになりました。+」を使用して、Kafkaサーバーのインストールディレクトリとログディレクトリを決定します。KafkaTをZooKeeperインスタンスにポイントするエントリが必要です。+`という新しいファイルを作成します。~/.kafkatcfg次の行を追加して、KafkaサーバーとZookeeperインスタンスに関する必要な情報を指定します。"localhost:2181"}これで、KafkaTを使用する準備が整いました。すべてのKafkaパーティションに関する詳細を表示する方法を示します。partitions次の出力が表示されます。consumer_offsets`で始まる行は安全に無視できます。repository]を参照してください。18.04マシンを使用してマルチブローカークラスターを作成する場合は、新しい各マシンでステップ1、ステップ4、およびステップ5を繰り返す必要があります。server.properties`ファイルで次の変更を行う必要があります。+`プロパティの値は、クラスター全体で一意になるように変更する必要があります。このプロパティは、クラスター内の各サーバーを一意に識別し、値として任意の文字列を使用できます。+`プロパティの値は、すべてのノードが同じZooKeeperインスタンスを指すように変更する必要があります。