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

推薦する

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...

Dockerを使用してOracle_11gをインストールする方法

DockerでOracle_11gをインストールする1. oracle_11gイメージを取得する d...

docker-machineの使い方の詳しい説明

Docker-machineはDockerが公式に提供しているDocker管理ツールです。これは d...

dockerfile-maven-plugin 使用ガイドの概要

目次pom 構成Setting.xml 構成ログインステータスログインが必要ですログインは必要ありま...

エンコードが utf-8 に設定されている場合に Web ページが文字化けする問題の解決策

最近、PHP で Web ページを書いているときに、エンコードを UTF-8 に設定しました。しかし...

MySQL サーバーにおける SSD パフォーマンスの問題の詳細な分析とテスト

【質問】 HP サーバーを使用しています。SSD が IOPS 約 5000 を書き込むと、%uti...

Ubuntu 16.04にJenkinsをインストールするための詳細な手順

1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...

Linux でファイアウォールがオフになっているかどうかを確認する方法

1. サービス方法ファイアウォールのステータスを確認します。 [root@centos6 ~]# サ...

MySQL のグループ分けの例

mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...

Vue/React シングルページ アプリケーションをリフレッシュなしで復元するソリューション

目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...

Linux yum コマンドを使用して mysql8.0 をインストールする方法の詳細なチュートリアル

1. 設置前によく掃除する rpm -pa | grep mysql または rpm -qa | g...

仮想マシンに Windows Server 2008 オペレーティング システムをインストールする

この記事では、Windows Server オペレーティング システムのインストールと企業でのそのア...

VueとElementUIを組み合わせたスキン変更ソリューション

目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...

Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明

背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...

継続的インテグレーションテストにおけるDocker Swarmの適用の詳細な説明

背景アジャイル モデルは広く使用されており、テストは特に重要です。新しいバージョンは頻繁にリリースす...