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キャンバスを使用してグラデーションカラーを実現します

推薦する

vue ルーティング ビュー router-view のネストされたジャンプの実装

目次1. app.vueページを修正する2. ログインページを作成する (/views/login/...

JS はシンプルなブロック崩しピンボールゲームを実装します

この記事では、ブロック崩しピンボールゲームを実装するためのJSの具体的なコードを参考までに紹介します...

Linux での MySQL データベースのアンインストール

Linux で MySQL データベースをアンインストールするにはどうすればいいですか? 以下では、...

JavaScript によるダイナミッククリスマスツリーの詳細な説明

目次1. CSS のみを使用して作成したアニメーションのクリスマスツリー2. CSS のみを使用して...

VMware Workstation のインストール Linux (Ubuntu) システム

システムをコンピューターにインストールする方法がわからない場合は、Linux を学習したい場合は、仮...

同じレベルの要素で Position:fixed と margin-top を一緒に使用する場合の CSS の問題

問題の説明CSS を使用して上部の固定効果を実現したいと思います。 margin-top と pos...

JavaScript タイマーの詳細

目次1. 簡単な紹介2. 間隔を設定する2.1 説明2.2 パラメータ2.3 戻り値2.4 使用法3...

React を使って小さなプログラムを書くための Remax フレームワークのコンパイル プロセス分析 (推奨)

Remax は、実行時に構文制限のないソリューションを採用した React を使用して小規模なプロ...

事例を通してLinux NFSの仕組みを詳細に分析

前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...

CentOS 7 で rpm パッケージを使用して MySQL 5.7.18 をインストールする

最近、MySQL を使っています。Linux での mysql-installation という記事...

vue-router を遅延ロードする 3 つの方法のまとめ

遅延読み込みを使用しない 'vue' から Vue をインポートします。 '...

MySQL マスタースレーブ同期、トランザクションロールバックの実装原理

ビンログBinLog は、データベース テーブル構造の変更 (テーブルの作成、変更など) とテーブル...

Centos6.5 glibc アップグレードプロセスの紹介

目次シナリオ要件glibc バージョンglibcのインストールglibc ソフトリンクシナリオ要件C...

MySQL で単一のフィールド内の複数の値を分割および結合する方法

複数の値を組み合わせて表示これで、図1から図2に示す要件が揃いました。 どうやってやるんですか?次の...

要素タイムラインの実装

目次コンポーネント - タイムラインカスタムノードスタイルカスタムタイムスタンプコンポーネント - ...