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

推薦する

Linux(中心OS7)は、Java Webプロジェクトの実行環境を構築するためにJDK、Tomcat、MySQLをインストールします。

1. JDKをインストールする1. 古いバージョンまたはシステム独自のJDKをアンインストールする...

Javascriptのtry catchの2つの機能についてお話しましょう

プログラムは上から下へ順番に実行され、いくつかの制御文によって実行経路を変更することができます。制御...

Winにmysqlをインストールする詳細な手順

この記事では、参考までにWinにmysqlをインストールする詳細な手順を紹介します。具体的な内容は次...

dockerでビルドしたnacos1.3.0の実装

1. nacosデータベースを再開します。データベース名nacos_configユーザー名とパスワー...

リンクをクリックしたときにファイルのダウンロードダイアログボックスをポップアップ表示するには、HTML で href を使用します。

今日、新しい技を学びました。あまりやったことがなかったので、今まで知りませんでした...目的: リン...

mysql ビュー関数の分析と使用例

この記事では、例を使用して MySQL ビューの機能と使用方法を説明します。ご参考までに、詳細は以下...

Vue プロジェクトにインターフェース リスニング マスクを追加する方法

1. 事業背景マスク レイヤーを使用してユーザーの異常な操作を遮断する方法は、フロントエンドでよく使...

Navicat で MySQL データベースのパスワードを変更する複数の方法

方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...

Gitlab実践チュートリアルでは、関連する設定操作にgit configを使用します。

この記事では、実際に発生した問題をもとに、git の設定に関する内容を紹介します。コマンド: git...

MySQL における 8 つの一般的な SQL 使用例

序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...

HTML でスタイルを使用して属性を追加する例

必要なリンクにインライン スタイルを追加します。コードをコピーコードは次のとおりです。 <a ...

CSS の vertical-align プロパティとベースラインの問題に関する深い理解

vertical-align属性は、主にインライン要素の配置を変更するために使用されます。インライン...

MySQL ステートメントを使用した簡単な追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL ステートメントを使用して、単純な追加、削除、変更、およびクエ...

Ubuntu の空き容量を増やす 5 つの簡単な方法

序文ほとんどの人は、システム ディスク ストレージが少ないときにこの操作を実行するか、Linux シ...

CSSでカスタムフォント(font-face)を導入する方法の詳細な説明

なぜこれを使ったのか?それはポスターを作ることから始まりました。それは嵐の夜でした。 。 。さて、無...