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

推薦する

DIV の一般的なタスク (パート 1) — 一般的なタスク (スクロール バーの表示、div の非表示、イベント バブリングの無効化など)

最も一般的に使用されるレイアウト要素として、DIV は Web 開発において重要な役割を果たします。...

Linuxの簡単な分析でファイアウォールの状態と外部に開いているポートの状態を確認する

1. ファイアウォールの状態を確認するファイアウォールのステータスを確認する systemctl s...

HTML ページをスクロールするときに一部のコンテンツを固定位置に固定する方法

この記事では主に、レイアウトに役立つ、HTML ページ内の一部のコンテンツを固定してスクロール時にス...

HTML要素にフォーカスを設定する方法

コードをコピーコードは次のとおりです。 <本文<フォームアクション="&quo...

LinuxでTomcatのポート番号を変更する方法

ここには複数の Tomcat があります。それらを同時に使用する場合は、ポート番号を別の番号に変更す...

特定のシンボルで複数の行と列に分割するMySQLの例

一部の障害コード テーブルでは、履歴またはパフォーマンス上の理由から、次の設計パターンが使用されます...

ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUIページングコンポーネントPagination in Vueの使用は参考になります。...

CSS3は水平方向の中央揃え、垂直方向の中央揃え、水平方向と垂直方向の中央揃えのサンプルコードを実装しています。

フロントエンドの担当者であれば、面接でも仕事中でも、「CSS を使用して中央揃えにする」という効果に...

両端揃えレイアウトを実現する CSS 列のサンプルコード

1. 堂々巡りいろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS ...

加算、減算、乗算、除算の機能を実現するには、HTML に 2 つの数値を入力します。

1. parseFloat() 関数Web ページ上に簡単な計算機を作成し、テキスト ボックスに ...

docker を使って sonarqube を構築する方法

目次1. Dockerをインストールする2. ソナーイメージをインストールする3. ソナーを使ってコ...

Docker mongoDB 4.2.1 をインストールし、Springboot ログを収集する詳細な手順

1: dockerにmongodbをインストールするステップ1: dockerにmongodbをイン...

JavaScriptでよく使われる配列重複排除実戦ソースコード

アレイの重複排除は、通常、就職面接中に遭遇し、アレイの重複排除方法のコードを手動で記述することが求め...

WeChatアプレット開発によりホームページポップアップボックスアクティビティガイダンス機能が実現

目次1. 需要2. データベース設計3.Javaバックグラウンド構成の実装4. WeChatアプレッ...

Mysql5.7でのスケジュールバックアップの実装

1. MySQL インストール パス D:\xxx\MYSQL\MySQL Workbench CE...