LinuxにKafkaをインストールする

LinuxにKafkaをインストールする

1. 環境整備

JDKダウンロードアドレスリンク: ダウンロードアドレス

Zookeeper ダウンロードアドレスリンク: ダウンロードアドレス

kafka ダウンロード アドレス リンク: ダウンロード アドレス

1.1 前提条件としてのJava環境

1.1.1 jdk-8u261-linux-x64.rpmをサーバーにアップロードしてインストールする

# インストールコマンド rpm -ivh jdk-8u261-linux-x64.rpm 

ここに画像の説明を挿入

1.1.2 環境変数の設定

# 設定ファイル、jdk の bin ディレクトリを /etc/profile ファイルに変更します。これはすべてのユーザーのシェルに有効です。vim /etc/profile
# 有効にする source /etc/profile 

ここに画像の説明を挿入

JAVA_HOME=/usr/java/jdk1.8.0_261-amd64 をエクスポートします。
エクスポート PATH=$PATH:$JAVA_HOME/bin 

ここに画像の説明を挿入

# java -version を確認する

ここに画像の説明を挿入

この時点で、jdk は正常にインストールされています。

1.2 Zookeeperのインストールと設定

1.2.1 zookeeper-3.4.14.tar.gzをサーバーにアップロードし、 /optに解凍します。

# 指定されたディレクトリにzkを解凍します。tar -zxf zookeeper-3.4.14.tar.gz -C /opt 

ここに画像の説明を挿入

1.2.2 Zookeeperデータを保存するディレクトリdataDirを変更する

# conf 設定ディレクトリに入る cd /opt/zookeeper-3.4.14/conf
# zoo_sample.cfg をコピーして zoo.cfg という名前を付けます
cp zoo_sample.cfg zoo.cfg
# zoo.cfg ファイルを編集する vim zoo.cfg
データディレクトリ=/var/riemann/zookeeper/data 

ここに画像の説明を挿入
ここに画像の説明を挿入

1.2.3 設定を有効にするために/etc/profileを編集する

Zookeeperログを保存する場所を指定するには、環境変数ZOO_LOG_DIRを設定します。
ZOOKEEPER_PREFIX Zookeeperが解凍されるディレクトリを指します。
ZookeeperbinディレクトリをPATHに追加します。

ここに画像の説明を挿入

ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14 をエクスポートします。
PATH=$PATH:$ZOOKEEPER_PREFIX/bin をエクスポートします
エクスポート ZOO_LOG_DIR=/var/riemann/zookeeper/log

設定が完了すると、設定が有効になります。

ソース /etc/profile

1.2.4 Zookeeperを起動し、 Zookeeperのステータスを確認する

zkServer.sh 開始

ここに画像の説明を挿入

この時点で、Zookeeper は正常にインストールされます。

1.3 Kafka のインストールと設定

1.3.1 kafka_2.12-1.0.2.tgzをサーバーにアップロードして解凍する

tar -zxf kafka_2.12-1.0.2.tgz -C /opt 

ここに画像の説明を挿入

1.3.2 環境変数を設定して有効にする

vim /etc/プロファイル
エクスポート KAFKA=/opt/kafka_2.12-1.0.2
PATH=$PATH:$KAFKA/bin をエクスポートします
ソース /etc/profile

1.3.3 /opt/kafka_2.12-1.0.2/configserver.propertiesファイルを設定する

vi /opt/kafka_2.12-1.0.2/config/server.properties 

ここに画像の説明を挿入

Kafka Zookeeperに接続するアドレス。ローカルで起動されたZookeeperインスタンスの接続アドレスはlocalhost:2181
次のmyKafkaはZookeeperのKafkaのルートノードパスです。

ここに画像の説明を挿入

Kafkaストレージの永続データディレクトリを構成する

ここに画像の説明を挿入

log.dirs = /var/riemann/kafka/kafka-logs

上記の永続データディレクトリを作成する

mkdir -p /var/riemann/kafka/kafka-logs

1.4 Kafkaを起動する

Kafka インストールのルート ディレクトリに入り、次のコマンドを実行します。

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

ここに画像の説明を挿入

起動が成功すると、コンソール出力の最後の行に開始ステータス「Kafka が正常にインストールされました」が表示されます。

ここに画像の説明を挿入

1.5 ウィンドウを再度開き、Zookeeperノードを表示する


ここに画像の説明を挿入

1.6 この時点で、Kafkaはフォアグラウンドモードで起動されます。停止するには、Ctrl+Cを使用します。

バックグラウンドで起動するには、次のコマンドを使用します。

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

Kafka のバックグラウンド プロセスを表示します。

ps -ef | grep カフカ

ここに画像の説明を挿入

バックグラウンドで実行中の Kafka を停止します。

kafka-server-stop.sh

2. 生産と消費

Zookeeper のステータスを確認します。Zookeeper が正常に起動したら、kafka を起動します。

ここに画像の説明を挿入

2.1 kafka-topics.shはトピックの管理に使用されます

コマンドのヘルプ情報を表示する

[root@master1 bin]# kafka-topics.sh
トピックを作成、削除、説明、または変更します。
オプションの説明                            
------ -----------                            
--alter パーティションの数を変更する。        
                                           レプリカの割り当て、および/または           
                                           トピックの構成。         
--config <文字列: name=value> トピック設定のオーバーライド 
                                           トピックが作成または変更されています。   
                                           以下は有効なリストです         
                                           構成:                      
                                         	クリーンアップポリシー                        
                                         	圧縮タイプ                      
                                         	削除.保持.ms                   
                                         	ファイル削除遅延ms                  
                                         	メッセージをフラッシュする                        
                                         	フラッシュ.ms                              
                                         	フォロワー.レプリケーション.スロットル。       
                                           レプリカ                             
                                         	インデックス間隔バイト                  
                                         	リーダー.レプリケーション.スロットル.レプリカ 
                                         	最大メッセージバイト数                     
                                         	メッセージ形式バージョン                
                                         	メッセージタイムスタンプの差の最大ミリ秒   
                                         	メッセージ.タイムスタンプ.タイプ                
                                         	最小洗浄可能ダーティ比率             
                                         	最小圧縮ラグ(ミリ秒)                 
                                         	最小同期レプリカ数                   
                                         	事前割り当て                           
                                         	保持バイト                       
                                         	保持.ms                          
                                         	セグメント.バイト                         
                                         	セグメント.インデックス.バイト                   
                                         	セグメント.jitter.ms                     
                                         	セグメント.ms                            
                                         	不潔なリーダー選挙を有効にする        
                                         詳細はKafkaのドキュメントをご覧ください   
                                           トピック構成の詳細。        
--create 新しいトピックを作成します。                    
--delete トピックを削除する                         
--delete-config <文字列: 名前> 削除するトピック設定の上書き   
                                           既存のトピックから削除されました(   
                                           設定のリスト 
                                           --config オプション)。                    
--describe 指定されたトピックの詳細を一覧表示します。     
--disable-rack-aware ラック対応レプリカ割り当てを無効にする  
--force コンソールプロンプトを抑制               
--help 使用方法情報を出力します。               
--if-exists 変更または削除時に設定されている場合       
                                           トピックの場合、アクションは 
                                           トピックが存在する場合                  
--if-not-exists トピック作成時に設定した場合、       
                                           アクションは、      
                                           トピックはまだ存在しません         
--list 利用可能なすべてのトピックを一覧表示します。             
--partitions <整数: パーティション数> トピックのパーティション数 
                                           作成または変更中(警告:   
                                           パーティションが増加すると、    
                                           キーを持つトピック、パーティション  
                                           メッセージのロジックまたは順序    
                                           影響を受ける                     
--replica-assignment <文字列: ブローカーへのパーティションの手動割り当てのリスト   
  broker_id_for_part1_replica1 : トピックの割り当て      
  broker_id_for_part1_replica2 が作成または変更されました。                  
  ブローカーID_for_part2_replica1:                                                
  broker_id_for_part2_replica2 、...>                                           
--replication-factor <整数: 各レプリケーション係数        
  作成中のトピック内のレプリケーション係数>パーティション。
--topic <文字列: topic> 作成、変更、または       
                                           記述してください。通常の  
                                           --create オプション以外の式
--topics-with-overrides トピックを記述するときに設定されている場合のみ    
                                           上書きされたトピックを表示する     
                                           構成                              
--unavailable-partitions トピックを記述するときに設定されている場合のみ    
                                           リーダーがいないパーティションを表示する  
                                           利用可能                            
--under-replicated-partitions トピックを記述するときに設定されている場合のみ    
                                           複製されたパーティションの下に表示     
--zookeeper <文字列: urls> 必須: 接続文字列    
                                           フォーム内の飼育係の接続 
                                           ホスト:ポート。複数のURLを指定できる      
                                           フェイルオーバーを許可するために与えられます。            
[root@master1 bin]# 
# 既存のトピックを一覧表示する [root@master1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka
# リーダー パーティションであり、フォロワー パーティションのレプリカを持たない 1 つのパーティションを含むトピックを作成します。
[root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_test --partitions 1 --replication-factor 1
# パーティション情報を表示 [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list
# 指定されたトピックの詳細情報を表示します [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_test 
# 指定されたトピックを削除します [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_test 

既存のトピックを一覧表示し、リーダー パーティションでありフォロワー パーティションのレプリカを持たない 1 つのパーティションを含むトピックを作成します。

ここに画像の説明を挿入

特定のトピックに関する詳細情報を表示する

ここに画像の説明を挿入

複数のパーティションを含むトピックを作成する

複数のパーティション: 水平拡張 複数のレプリカ: 高可用性

ここに画像の説明を挿入

2.2 kafka-console-consumer.shはメッセージを消費するために使用される

# コンシューマーを有効にする [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test 
# コンシューマー モード 2 を開始し、オフセットではなく最初から消費します [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test --from-beginning

2.3 kafka-console-producer.shはメッセージを生成するために使用されます

# プロデューサーを開く [root@node1 ~]# kafka-console-producer.sh --topic topic_test --broker-list localhost:9020

2.4 特定の操作

コンシューマーとプロデューサーがメッセージを作成および消費できるようにします。

ここに画像の説明を挿入

消費者はオフセットに応じて消費する

ここに画像の説明を挿入

消費者はオフセットに従ってではなく、最初から消費する

ここに画像の説明を挿入

Linux 環境に Kafka をインストールする方法については、これで終わりです。Linux に Kafka をインストールする方法については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Kafka のインストールと設定の詳細なプロセス
  • SpringBoot Kafka の統合とインストールのチュートリアル
  • Kafka および Storm クラスター環境の詳細なインストール手順
  • Kafka のインストールと展開の詳細な手順

<<:  CSS グラデーション効果の概要 (線形グラデーションと放射状グラデーション)

>>:  QT が MYSQL データベースに接続するための詳細な手順

推薦する

Windows 10 で Ubuntu 20.04 LTS をアップデートする方法

2020 年 4 月 23 日、本日、Windows 上の Ubuntu 20.04 では、Ubun...

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

KTLツールはMySQLからMySQLへのデータの同期方法を実現します

ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...

HTML ベース URL タグ

その機能はグローバル スタイルを設定することです。その後の相対パスはこれに基づきます: <im...

MySQL binlog の解析

目次1. binlogの紹介2. Binlog関連のパラメータ3. バイナリログの内容を分析するIV...

React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...

ブートストラップ学習体験のまとめ - CSS スタイル デザイン共有

プロジェクトのニーズにより、ブートストラップ フレームワークを慎重に学習する予定です。以前から少しは...

Linux の運用と保守で netstat の代わりに ss コマンドを使用する方法

序文Linux サーバーを操作および管理するときに、最もよく使用されるコマンドの 1 つが nets...

CSS の優先順位に関する詳細な紹介

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

Docker Composeを使用してDOCleverをインストールする詳細なプロセスを説明します

目次1. Docker Composeとは何か、インストールして使用する方法2. DOCleverと...

Vueでlessを使用する問題を解決する

1. less依存関係をインストールします: npm install less less-loade...

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明最近、...

GoのDockerデプロイメント用の基本イメージ2つの実装

1. golang:最新のベースイメージ mkdir gotest タッチメイン.go Docker...

Win10 の組み込み Linux システムを使用して Spring Boot プロジェクトを開始する方法

1. Windows10の組み込みLinuxサブシステムをインストールする1.1. Linuxサブシ...