DockerでKafkaをデプロイする方法

DockerでKafkaをデプロイする方法

1. Dockerをビルドする

ここでは docker-compose デプロイメントを直接使用するので、事前に compose をインストールする必要があります。
compose を使用するので、当然 yml ファイルは不可欠です。

まず、新しいディレクトリを作成し、そのディレクトリ内に新しいymlファイルを作成します。

ここに画像の説明を挿入

ファイルの内容は次のとおりです。

バージョン: '2'
サービス:
  飼育員:
    画像: wurstmeister/動物園の飼育員
    ボリューム:
      - ./データ:/データ
    ポート:
      - 「2181:2181」
       
  カフカ:
    画像: wurstmeister/kafka
    ポート:
      - 「9092:9092」
    環境:
      KAFKA_ADVERTISED_HOST_NAME:127.0.0.1
      KAFKA_メッセージの最大バイト数: 2000000
      KAFKA_CREATE_TOPICS: 「トピック1:1:3、トピック2:1:1:コンパクト」
      KAFKA_ZOOKEEPER_CONNECT: 動物園管理人:2181
    ボリューム:
      - ./kafka-logs:/kafka
      - /var/run/docker.sock:/var/run/docker.sock
 
  kafka マネージャー:
    画像: sheepkiller/kafka-manager
    ポート:
      - 9020:9000
    環境:
      ZK_HOSTS: 動物園管理人:2181

次に、このymlファイルを使用してプロジェクトを開始します。

$ docker-compose アップ -d

3 つの新しいコンテナが作成されたことがわかります。

ここに画像の説明を挿入

2. コンテナに入る

次のコマンドでkafkaコンテナの対話モードに入ります。

$ docker exec -it kafkademo01_kafka_1 /bin/bash

Kafka の上位バージョンには Zookeeper が組み込まれているため、Zookeeper コンテナーに入る必要はありません。したがって、yml ファイルでの zookeeper のデプロイメントは省略できます。

次にkafkaのルートディレクトリに入ります

$ cd /opt/kafka

3. 設定ファイルを変更する

$ cd /config

ここに画像の説明を挿入

最初に変更するのは、zookeeper設定ファイル: zookeeper.propertiesです。
(コメントは削除されました)

データディレクトリ=/opt/kafka/zooLogs
クライアントポート=2182
最大クライアント接続数=0
admin.enableServer=false

次に、kafka構成ファイルを変更します: server.porperties
(コメントは削除されました)

################################ サーバーの基本 ###############################                                                                                                                                                                                                                                                                                                             
ブローカーID=0                                                                                                                                        
############################## ソケット サーバーの設定 ################################                                                                                                                                                                                                                                                                                              
リスナー=プレーンテキスト://127.0.0.1:9093

############################## ソケット サーバーの設定 ################################                                                                      
リスナー=プレーンテキスト://127.0.0.1:9093                                                                                                                    
ネットワークスレッド数=3                                                                                                                                   
スレッド数=8                                                                                                                                        
ソケット送信バッファバイト数=102400                                                                                                                         
ソケット受信バッファバイト数=102400
                                                          
ソケットリクエスト最大バイト数=104857600                                                                                                                      
################################ ログの基本 ###############################                                                                                  
log.dirs=/opt/kafka/kafkaLogs                                                                                                                           
パーティション数=1                                                                                                                                        
データディレクトリあたりの回復スレッド数=1                                                                                                                     
############################### 内部トピック設定 ##############################                                                                                                   
オフセット.トピック.レプリケーション.係数=1                                                                                                                       
トランザクション状態ログレプリケーション係数=1                                                                                                               
トランザクション状態ログ最小isr=1                                                                                                                         
############################### ログ保持ポリシー ##############################                                                                        
ログ保持時間=168                                                                                                                                                                                                                                               
ログセグメントバイト=1073741824                                                                                                                            
ログ保持チェック間隔 ms=300000                                                                                                                  
############################## 動物園の飼育員 ##############################                                                                                   
動物園の飼育係.connect=127.0.0.1:2182                                                                                                       
動物園の飼育係の接続タイムアウト 18000 ミリ秒 =                                                                                                                   
################################# グループコーディネーター設定 #################################                                                                  
グループ初期再バランス遅延ms=0                                                                                                                      
ポート=9093                                                                                                                                                
アドバタイズされたホスト名=127.0.0.1                                                                                                                           
メッセージ最大バイト数 = 2000000                                                                                                                                
宣伝されたポート=9093

4. Kafkaをテストする

基本的なコマンドをいくつか紹介します。

ZooKeeperを起動する

zookeeper-server-start.sh ../config/zookeeper.properties

Kafkaを起動する

kafka-server-start.sh ../config/server.properties

テーマを作成する

kafka-topics.sh --create --zookeeper 127.0.0.1:2182 --replication-factor 1 --partitions 1 --topic テスト

作成されたトピックを表示

kafka-topics.sh --list --zookeeper 127.0.0.1:2182

プロデューサー

kafka-console-producer.sh --broker-list 127.0.0.1:9093 --topic テスト

消費者

kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9093 --topic テスト --from-beginning

これで、Docker で Kafka をデプロイする手順に関するこの記事は終了です。Docker で Kafka をデプロイする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Kafka アーキテクチャの原則の詳細な分析
  • Kafka のインストールと展開の詳細な手順
  • Kafka のインストールと設定の詳細なプロセス
  • Kafkaの初期使用法を試してみる
  • Windows で IntelliJ Idea を使用して Kafka ソース コード環境をコンパイルする
  • 1 つの記事で Kafka HA (高可用性) を学ぶ

<<:  コンポーネントベースのフロントエンド開発プロセスの詳細な説明

>>:  Tkinterはjsキャンバスを使用してグラデーションカラーを実現します

推薦する

Javascript ファイルと Blob の詳細な説明

目次ファイル()文法パラメータ例ブロブ()文法パラメータ財産方法例要約するファイル() File()...

MySQLデータベースでゼロ値を含む日付の問題について簡単に説明します

デフォルトでは、MySQL は日付に 0 値を挿入することを受け入れますが、実際には日付の 0 値に...

JPQLに基づく純粋なSQL文方式の詳細な説明

JPQL は Java Persistence Query Language の略です。 Java ...

中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)

PS: 最近、nginx を詳細に紹介している <<High-Performance ...

CSS3 を使用したテキスト折り紙効果のサンプルコード

序文この記事では主に、CSS3 を使用してテキスト折り紙効果を実現する例を紹介します。これは、参考と...

Javascriptでシングルトンパターンを実装する方法

目次概要コードの実装シングルトンパターンの簡易版改良版プロキシバージョンシングルトンモード遅延シング...

proxy_pass がパス パスに従って転送する場合の "/" 問題の詳細な説明

nginx で proxy_pass を設定するときに、^~ に従ってパスを一致させる場合は、pro...

border-image を使用してテキストバブルの境界線を実装する方法のサンプルコード

開発中に、非常に単純なテキストバブル効果に遭遇しました。これは、おおよそ次のようになります。 うーん...

CSSの2つの特別な値は、カスケードの継承と初期メソッドを制御するために使用されます。

カスケードを制御するために CSS の任意のプロパティに割り当てることができる特別な値が 2 つあり...

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...

Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

Win10 システムでの MySQL 8.0.20 のインストールと設定の超詳細なチュートリアルMy...

Windows 8 での MySQL 5.6.15 のインストールと設定方法のグラフィック チュートリアル

MySQLは私がとても気に入っているデータベースです。今日はWindows 8システムでインストール...

Linux 仮想ホストで SourceGuardian (sg11) 暗号化コンポーネントを有効にする詳細な手順

注: sg11 弊社では Linux システム仮想ホストのセルフインストールのみサポートしております...

CSS で 3D ルービック キューブを実装するサンプル コード

今日は簡単な3Dルービックキューブを作ってみましょうまずはレンダリングを見てみましょう!これを学んだ...

VMware15 centos7 ブリッジモード ssh に突然アクセスできなくなる問題を解決する

仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...