序文
開始する前に、ストームとカフカクラスターのインストールの間に必要な接続がないことに注意する必要があります。どちらもZookeeperによって管理され、JDK環境に依存しているため、これら2つを一緒に書きました。構成を繰り返さないために、私はこれら2つを一緒に書きました。必要な場合は、選択した読書を選択してください。以下ではあまり言いません。詳細な紹介を一緒に見てみましょう。
これら2つの依存関係は次のとおりです。
注:Storm1.0およびKafka2.0には、JDKが少なくとも1.7およびZookeeper3.0以降が必要です。
住所をダウンロード:
JDKインストール
すべてのマシンをJDKで設置する必要があります! ! !
注:一般的に、CentosにはOpenJDKが付属していますが、OracleのJDKを使用しています。したがって、Uninstall openJDKを作成してから、OracleでダウンロードしたJDKをインストールする必要があります。アンインストールしている場合は、この手順をスキップできます。
最初にjava -versionを入力します
JDKがインストールされているかどうかを確認してください。インストールされているがバージョンが適切でない場合は、アンインストールしてください。
入力
rpm -qa | Grep Java
情報を表示します
次に、以下を入力します。
rpm -e -nodeps「JDK情報をアンインストールしたい」
例: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
それがなくなったことを確認した後、ダウンロードしたJDKを解凍します
TAR -XVF JDK-8U144-LINUX-X64.TAR.GZ
Opt/Javaフォルダーを使用せずに新しいものを作成し、フォルダーをJDK1.8に変更します。
MV JDK1.8.0_144 /OPT /JAVAMV JDK1.8.0_144 JDK1.8
次に、プロファイルファイルを編集し、次の構成を追加します
入力:
Vim /etc /プロファイル
に追加:
java_home =/opt/java/jdk1.8export jre_home =/opt/java/jdk1.8/jreexport classpath = 。: $ java_home/lib/dt.jar:$ java_home/lib/lib/tools.jar:$ jre_home/libexport pat = $ {$ {$ {追加が成功した後、入力します
ソース /etc /profilejava -version
構成が成功したかどうかを確認してください
Zookeeper環境のインストール
1。ドキュメントの準備
ダウンロードしたZookeeper構成ファイルを解凍します
Linuxに入力します:
TAR -XVF ZOOKEEPER -3.4.10.TAR.GZ
次に、 /opt /zookeeperに移動し、それなしで新しいものを作成してから、フォルダーをzookeeper3.4に変更します。
入力
MV Zookeeper-3.4.10 /opt /Zookeepermv Zookeeper-3.4.10Zookeeper3.4
2。環境構成
/etc /プロフィールファイルを編集します
入力:
export zk_home =/opt/zookeeper/zookeeper3.4 export path =。:$ {java_home}/bin:$ {zk_home}/bin:$ path入力:
ソース /など /プロファイル
構成を効果的にします
3.構成ファイルを変更します
3.3.1ファイルとディレクトリの作成
クラスター内のサーバーにこれらのディレクトリを作成します
mkdir/opt/zookeeper/data mkdir/opt/zookeeper/datalog
/opt/zookeeper/dataディレクトリにMyIDファイルを作成します
入力:
myidに触れてください
作成が成功した後、MyIDファイルを変更します。
便利なため、Master、Slave1、およびSlave2のMyIDファイルのコンテンツを1、2、3に変更しました
3.3.2 New Zoo.cfgを作成します
/opt/zookeeper/zookeeper3.4/confディレクトリに切り替えます
zoo.cfgファイルがない場合は、zoo_sample.cfgファイルをコピーしてzoo.cfgに変更します。
この新しく作成されたZoo.cfgファイルを変更します
datadir =/opt/zookeeper/datadatalogdir =/opt/zookeeper/datalogserver.1 = Master:2888:3888Server.2 = Slave1:2888:3888Server.3 = Slave2:2888:3888
説明:名前が示すように、クライアントポートは、クライアントがZookeeperサービスに接続するポートです。これはTCPポートです。 Datalogdirは、配置された注文ログ(WAL)です。 Datadirは、メモリデータ構造のスナップショットを置き、迅速な回復を促進します。パフォーマンスを最大化するために、一般に、DataDirとDatalogdirを異なるディスクに分割して、ディスクの注文の記述特性を完全に利用できるようにすることをお勧めします。 DatadirとDatalogdirは自分で作成する必要があり、ディレクトリは自分で策定でき、対応することができます。 Server.1のこの1は、マスターマシンのDataDirディレクトリのMyIDファイルの値に対応する必要があります。この2 in server.2は、Slave1のDataDirディレクトリのMYIDファイルの値に対応する必要があります。この3 in server.3は、Slave2のDataDirディレクトリのMYIDファイルの値に対応する必要があります。もちろん、それに応じて、好きなように値を使用できます。 2888と3888のポート番号もさりげなく使用できます。これは、異なるマシンで同じものを使用するかどうかは関係ないためです。
1. Ticktime:CSコミュニケーションハートビート番号
Zookeeperサーバー間の時間間隔またはクライアントとサーバー間の間隔は、ハートビートを維持します。つまり、各ティックタイム時間はハートビートを送信します。ティックタイムはミリ秒単位です。
tickTime=2000
2.Initlimit:LF初期通信時間制限
クラスター内のフォロワーサーバー(f)とリーダーサーバー(L)の間の初期接続中に耐性が可能なハートビートの最大数(ダニの数)。
initLimit=10
3.Synclimit:LF同期通信時間制限
クラスター内のフォロワーサーバーとリーダーサーバー間のリクエストと応答の間で許容できるハートビートの最大数(ダニの数)。
syncLimit=5
それでもZookeeperを他のマシンに転送します。 MYIDの下の/opt/zookeeper/dataを変更することを忘れないでください。これは一貫性がありません。
入力:
scp -r/opt/zookeeper root@slave1:/optscp -r/opt/zookeeper root@slave2:/opt
4. Zookeeperを開始します
Zookeeperは選挙制度であるため、そのマスター奴隷関係はHadoopのように指定されていません。詳細については、公式ドキュメントを参照できます。
Zookeeperを正常に構成した後、各マシンでZookeeperを開始します。
Zookeeperディレクトリに切り替えます
cd /opt/zookeeper/zookeeper3.4/bin
入力:
zkserver.sh start
スタートアップが成功した後
ステータス入力を表示:
zkserver.shステータス
各マシンでZookeeperのリーダーとフォロワーを表示できます
嵐環境の設置
1。ドキュメントの準備
ダウンロードされたストーム構成ファイルを解凍します
Linuxに入力します:
TAR -XVF Apache-Storm-1.1.1.tar.gz
次に、 /Opt /Stormに移動し、存在しない場合は作成し、フォルダーをStorm1.1に変更します。
入力
MV Apache-Storm-1.1.1 /Opt /Storm MV Apache-Storm-1.1.1 Storm1.1
/etc /プロフィールファイルを編集します
に追加:
export storm_home =/opt/storm/storm1.1.1export path =。:$ {java_home}/bin:$ {zk_home}/bin:$ {storm_home}/bin:$ pathバージョン情報を表示するには、ストームバージョンを入力します
3.構成ファイルを変更します
Storm.yarm of Storm/Confの編集。
次の編集を行います。
入力:
vim storm.yarm
Slave.Zookeeper.Servers: - "Master" - "Slave1" - "Slave2" Storm.local.dir: "/root/storm"nimbus.seeds:[" master "] superpisor.slots.ports:-6700-6701-6702-6703-6703
説明:
1。Storm.Zookeeper.Serversは、指定されたZookeeperのサービスアドレスです。
Stormのストレージ情報はZookeeperにあるため、Zookeeperのサービスアドレスを構成する必要があります。 Zookeeperがスタンドアロンのマシンである場合、指定するだけです!
2。Storm.Local.dirはストレージディレクトリを表します。
ニンバスとスーパーバイザーのデーモンは、少量の状態(瓶、confなど)を保存するために、ローカルディスクにディレクトリを保存する必要があります。各マシンで作成し、許可を与えます。
3。Nimbus.seedsは候補ホストを表します。
ワーカーは、どのマシンがホスト候補であるかを知る必要があります(Zookeeper ClusterはElectoral)。トポロジージャーとConfをダウンロードできるようにする必要があります。
4。superisor.slots.portsは、労働者ポートを表します。
各スーパーバイザーマシンについて、これを使用して、このマシンで実行する労働者の数を構成できます。各ワーカーは、個別のポートを使用してメッセージを受信します。これは、使用するポートも定義しています。ここで5つのポートを定義する場合、このスーパーバイザーノードで最大5人の労働者を実行できることを意味します。 3つのポートが定義されている場合、最大3人の労働者を実行できることを意味します。デフォルトでは(つまり、defaults.yamlで構成されています)、ポート6700、6701、6702、および6703で4人の労働者が走っています。
スーパーバイザーは、スタートアップ後すぐにこれら4人の労働者をすぐに開始しません。代わりに、割り当てられたタスクが受け入れられたときにのみ開始されます。開始する特定の数の労働者は、トポロジーのこの監督者に必要な労働者の数に基づいて決定する必要があります。指定されたトポロジが1人の労働者のみによって実行される場合、スーパーバイザーは1人の労働者を起動し、すべてを開始するわけではありません。
注:これらの構成の前にスペースはありません! ! ! 、それ以外の場合、エラーが報告されます。ここではホスト名(マッピング)が使用され、IPも使用できます。実際の状況はあなた自身に基づいています。
SCPコマンドまたはFTPソフトウェアを使用して、ストームを他のマシンにコピーできます。
構成が成功した後、ストームを開始できますが、JDKとZookeeperが正しくインストールされ、Zookeeperが正常に開始されたことを確認してください。
4。ストームを開始します
ストーム/ビンディレクトリに切り替えます
マスターノードで入力を開始します。
ストームニンバス>/dev/null 2>&1&
Webインターフェイス(マスター)入力にアクセスしてください:
ストームUI
Node(Slave1、Slave2)から入力:
ストームスーパーバイザー>/dev/null 2>&1&
ブラウザインターフェイス:ポート8080に入力します
インターフェイスは正常に開かれ、環境構成が成功していることを示しています。
Kafkaの環境インストール
Kafkaは、WebページにアクセスするPM、ログなどのアクティブなストリーミングデータの処理に使用されるハイスループットストリーミング分散メッセージシステムであり、ビッグデータ情報をリアルタイムでだけでなくオフラインで処理できます。
1。ドキュメントの準備
ダウンロードしたKafka構成ファイルを解凍します
Linuxに入力します:
TAR -XVF KAFKA_2.12-1.0.0.TGZ
次に、 /opt /kafkaに移動し、存在しない場合は作成してから、フォルダーをKafka2.12に変更します
入力
MV Kafka_2.12-1.0.0 /opt /Kafka MV Kafka_2.12-1.0.0 Kafka2.12
2。環境構成
/etc /プロフィールファイルを編集します
入力:
export kafka_home =/opt/kafka/kafka2.12エクスポートパス=。:$ {java_home}/bin:$ {kafka_home}/bin:$ {zk_home}/bin:$ path入力:
ソース /など /プロファイル
構成を効果的にします
3.構成ファイルを変更します
注:実際、それがスタンドアロンのマシンの場合、Kafka構成ファイルは、それを変更せずにBinディレクトリで直接起動できます。しかし、私たちはここのクラスターなので、少し変更してください。
Kafka/configディレクトリに切り替えます
server.propertiesファイルを編集します
変更する必要があるのは、Zookeeperのアドレスです。
Zookeeper構成を見つけ、Zookeeperクラスターのアドレスを指定し、次のように変更します
ZooKeeper.Connect = Master:2181、Slave1:2181、Slave2:2181Zookeeper.Connection.Timeout.ms = 6000
変更のためのその他のオプションは次のとおりです
1、num.partitionsは指定されたパーティションを表し、デフォルトは1です
2。log.dirs kafkaログパス、個人的なニーズに応じてこれを変更するだけです。
...
注:他の構成があります。公式ドキュメントを表示できます。特別な要件がない場合は、デフォルトの要件を使用してください。
構成後、SCPコマンドを使用して他のクラスターに送信してください!
4。カフカを開始します
クラスターすべてのクラスターを操作する必要があります!
Kafka/binディレクトリに切り替えます
入力:
kafka-server-start.sh
次に、JPS名を入力して、それが正常に開始されるかどうかを確認します。
スタートアップが成功した後、簡単なテストを実行できます
最初にトピックを作成します
入力:
Kafka-Topics.sh -Zookeeper Master:2181 -Create - Topic T_Test - パーティション5 - Replication-Factor 2
説明:T_TESTという名前のトピックがあり、5つのパーティションが指定されています。各パーティションには2つのレプリカがあります。パーティションが指定されていない場合、デフォルトのパーティションは構成ファイルで構成されています。
次に、生産データ
入力:
kafka-console-producer.sh-broker-list master:9092 - topic t_test
Ctrl+Dを使用して終了できます
次に、別のXshellウィンドウを開きます
消費する
入力:
kafka-console-consumer.sh -Zookeeperマスター:2181 - トピックT_TEST - from-begining
Ctrl+Cを使用して終了できます
データが正常に消費されていることがわかります。
5.カフカの一般的に使用されているコマンド
1。カフカを開始して閉じます
bin/kafka-server-start.sh config/server.properties >>/dev/null 2>&1&bin/kafka-server-stop.sh
2。Kafkaクラスターのメッセージキューと特定のキューを確認してください
クラスター内のすべてのトピックを表示します
Kafka-Topics.sh -Zookeeper Master:2181、Slave1:2181、Slave2:2181 - リスト
トピック情報を表示します
Kafka-Topics.sh -Zookeeper Master:2181 - Describe - Topic T_Test
3.トピックを作成します
Kafka-Topics.sh -Zookeeper Master:2181 -Create - Topic T_Test - パーティション5 - Replication-Factor 2
4。生産データと消費データ
kafka-console-producer.sh-broker-list master:9092 - topic t_test
ctrl+d出口
kafka-console-consumer.sh -Zookeeperマスター:2181 - トピックT_TEST - from-begining
Ctrl+C出口
5.Kafkaの削除コマンド
kafka-topics.sh - delete-zookeeperマスター:2181 - トピックT_TEST
6.パーティションを追加します
kafka-topics.sh -alter - topict_test -zookeeperマスター:2181 - パーティション10
他の
嵐環境の公式文書への参照:http://storm.apache.org/releases/1.1.1/setting-up-a-storm-cluster.html
Kafka Environment Constructionリファレンス公式文書:http://kafka.apache.org/quickstart
要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。