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

推薦する

Vue3.0 エラーの解決策: モジュール 'worker_threads' が見つかりません

vue3.0 への最初の試みを記録します。プロジェクトを開始したときに、「モジュール 'wo...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた問題を解決する方法を参考までに共有します。具体的な内容は次...

Tencent Cloud 上で Hadoop 3.x 疑似クラスターを構築する方法を説明します

1. 環境整備CentOS Linux リリース 7.5.1804 (コア)インストールフォルダを作...

Linux でログインタイムアウト後に非アクティブなユーザーを自動的にログアウトする

方法1: .bashrcまたは.bash_profileファイルを変更するこれは、ホーム ディレクト...

CSS3 マウスホバー遷移ズーム効果

以下は、純粋な CSS で記述された画像マウスホバーズーム効果です。実際、基本原理は非常に単純です。...

検索テキストボックスがフォーカスを外れたときにテキストの位置がジャンプする問題の解決方法

検索テキストボックスにテキストを設定すると、フォーカスを外すと位置がジャンプしますコードをコピーコー...

ハイパーリンクに関するいくつかの質問

ポテトチップスパーティーのこのエピソードに参加して、何人かの友人に会えてとても嬉しいです。思いがけず...

TypeScript 3.7 で注目すべき 3 つの新機能について簡単に説明します。

目次序文オプションの連鎖ヌル結合呼び出されていない関数のチェック他の序文TypeScript 3.7...

MySQL における tinyint と int の違いの詳細な説明

質問: int(1) と tinyint(1) の違いは何ですか?このような設計では、いずれにしても...

Xtrabackup を使用した MySQL バックアップ プロセスの詳細な説明

目次01 背景02 はじめに03 ワークフロー04 いくつかの質問05 ファイルをバックアップする0...

Webpack4プラグインの実装原理についての簡単な説明

目次序文知る練習すれば完璧になる序文wabpack では、ローダーの他にプラグインがコア機能です。プ...

js キャンバスは検証コードを実装し、検証コード機能を取得します

この記事の例では、検証コードを作成して取得するためのjsキャンバスの具体的なコードを共有しています。...

CentOS 7.5 に Docker をインストールする詳細なチュートリアル

Docker入門Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテ...

Google の新しい UI から学べること (画像とテキスト)

2011 年に最も顕著なウェブサイトの変更は、一連の製品に新しいユーザー インターフェースを導入した...

MySQL ユーザーのホスト属性を素早く変更する方法

MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...