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 データベースに接続するための詳細な手順

推薦する

Linux ユーザーとグループのコマンド例分析 [切り替え、ユーザーの追加、権限制御など]

この記事では、Linux のユーザーおよびグループのコマンドについて例を挙げて説明します。ご参考まで...

Xshell を使用して VMware 上の Linux 仮想マシンに接続する (グラフィック手順)

はじめに: 最近 Hadoop プラットフォームの構築を勉強し始めたので、ローカルマシンに VMwa...

Windows Apache 環境で SSL 証明書を展開して、Web サイトを https 対応にする方法

SSL 証明書の使用についてはここでは説明しません。SSL 証明書を導入する必要がある友人は、すでに...

MAC での MYSQL5.7.17 接続失敗の問題と解決策

MYSQL5.7.17 が MAC で接続できない問題。SQLBench_community 6.3...

Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

Dockerイメージを完全にアンインストールする手順

1. docker ps -a 実行中のイメージプロセスを表示する [root@mylinux~]#...

Uniappの小規模プログラム開発経験

1. 新しいUIプロジェクトを作成するまず、私たちの UI は ColorUI に基づいています。C...

MySQL 制約の種類と例

制約制約によりデータの整合性と一貫性が確保される制約はテーブルレベルの制約と列レベルの制約に分けられ...

Linux のファイル システム タイプの表示方法の例

Linux でパーティションのファイル システム タイプを確認する方法。パーティションのファイル シ...

Dockerを使用して外部からアクセス可能なMySQLを構築する詳細な説明

MySQL 8.0をインストールする docker run -p 63306:3306 -e MYS...

MySQLクエリのパフォーマンスに影響を与える大きなオフセットの理由と最適化の詳細な説明

序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...

JavaScriptでポインターの位置を取得する方法を教えます

JavaScript でポインターの位置を取得する方法は、イベント オブジェクトの pageX と ...

Docker用国産イメージウェアハウスの使い方

1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...

MySQL での %% のようなファジークエリの実装

1、%: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、...

Linux に ASPNET.Core3.0 ランタイムをインストールするためのサンプル コード

# 以下の例は x64 ビット ランタイム v3.0.0 用です mkdir /runtimes ...