カフカシリーズ(2) - ベースの高可用性クラスタのZooKeeperカフカを構築

、飼育係クラスタセットアップ

高可用性クラスタを確保するために、クラスタは、飼育係は、3つのノードのクラスタを構築するので、ここで、好ましくは奇数、3つのノードの最小値であるノード。

1.1をダウンロード&解凍

対応するバージョンの飼育係をダウンロードして、ここで私はバージョンをダウンロードしました3.4.14公式ダウンロード:https://archive.apache.org/dist/zookeeper/

# 下载
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
# 解压
tar -zxvf zookeeper-3.4.14.tar.gz

1.2コンフィギュレーションを変更します

3つのコピー飼育係のインストールパッケージ。それぞれ、インストールディレクトリにconfディレクトリ、設定テンプレートをコピーzoo_sample.cfgするにはzoo.cfg、それを修正して、次のように3変更したコンフィギュレーションファイルの内容は以下のとおりです。

zookeeper01構成:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-cluster/data/01
dataLogDir=/usr/local/zookeeper-cluster/log/01
clientPort=2181

# server.1 这个1是服务器的标识,可以是任意有效数字,标识这是第几个服务器节点,这个标识要写到dataDir目录下面myid文件里
# 指名集群间通讯端口和选举端口
server.1=127.0.0.1:2287:3387
server.2=127.0.0.1:2288:3388
server.3=127.0.0.1:2289:3389

複数のサーバ場合は、クラスタ通信ポートおよびポート内の各ノードは、同じ選挙であってもよいし、ホストのIPアドレスは、IPをすることができ、各ノードが変更されます。

zookeeper02構成のみzookeeper01、と比較dataLogDirしてdataLogDir異なります。

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-cluster/data/02
dataLogDir=/usr/local/zookeeper-cluster/log/02
clientPort=2182

server.1=127.0.0.1:2287:3387
server.2=127.0.0.1:2288:3388
server.3=127.0.0.1:2289:3389

zookeeper03構成のみzookeeper01,02、と比較dataLogDirしてdataLogDir異なります。

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-cluster/data/03
dataLogDir=/usr/local/zookeeper-cluster/log/03
clientPort=2183

server.1=127.0.0.1:2287:3387
server.2=127.0.0.1:2288:3388
server.3=127.0.0.1:2289:3389

設定パラメータ:

  • tickTime:基本時間単位を算出します。セッションタイムアウト例:N * tickTime。
  • initLimit:クラスター、および接続の初期化時間を同期マスタノードからノードへの接続を許可は、倍数のtickTimeで発現しました。
  • syncLimit:クラスター、マスターノードとメッセージの間に、マスタノードから送信され、要求と応答時間の長さ(ハートビート機構)
  • DATADIR:データの格納場所、
  • dataLogDir:ディレクトリを記録。
  • CLIENTPORT:クライアントを接続するためのポート、デフォルトの2181

1.3ノードを識別する

新しいデータは、ディレクトリ3つのノードに格納されmyidたファイルと対応するノード識別子を書き込みます。飼育係クラスターmyid選挙上記通信ポートとポート構成を介して通信をノードにファイル識別クラスタノードとノードがリーダーノードを選出します。

ストレージディレクトリを作成します。

# dataDir
mkdir -vp  /usr/local/zookeeper-cluster/data/01
# dataDir
mkdir -vp  /usr/local/zookeeper-cluster/data/02
# dataDir
mkdir -vp  /usr/local/zookeeper-cluster/data/03

作成し、ノード識別が書き込まれるmyidファイル:

#server1
echo "1" > /usr/local/zookeeper-cluster/data/01/myid
#server2
echo "2" > /usr/local/zookeeper-cluster/data/02/myid
#server3
echo "3" > /usr/local/zookeeper-cluster/data/03/myid

クラスタ1.4を起動します

これは、3つのノードを開始しました。

# 启动节点1
/usr/app/zookeeper-cluster/zookeeper01/bin/zkServer.sh start
# 启动节点2
/usr/app/zookeeper-cluster/zookeeper02/bin/zkServer.sh start
# 启动节点3
/usr/app/zookeeper-cluster/zookeeper03/bin/zkServer.sh start

1.5クラスタ検証

JPSは、プロセスを表示し、使用して使用しzkServer.sh status、各クラスタ・ノードのステータスを表示します。プロセスに示されている3つのノードが正常に開始され、2つのノードフォロワノードは、ノードがリーダーノードです。

二、カフカクラスタセットアップ

2.1のダウンロード、解凍します

カフカ公式のインストールパッケージのダウンロードアドレス:http://kafka.apache.org/downloads、このユースケースのダウンロード版には2.2.0、コマンドをダウンロードします。

# 下载
wget https://www-eu.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz
# 解压
tar -xzf kafka_2.12-2.2.0.tgz

ここでJ命名カフカのインストールパッケージを説明しますとkafka_2.12-2.2.0.tgz、例えば、Scalaのバージョン番号の代表の前で2.12(カフカは、Scalaの言語の開発を使用しています)、2.2.0バージョン番号の後ろにカフカを表します。

コンフィギュレーションファイルのコピー2.2

解凍ディレクトリを入力configディレクトリを、3つのプロファイルをコピーします。

# cp server.properties server-1.properties
# cp server.properties server-2.properties
# cp server.properties server-3.properties

2.3コンフィギュレーションを変更します

以下のように変更部分は、3つの構成ファイルを配置しています。

server-1.properties:

# The id of the broker. 集群中每个节点的唯一标识
broker.id=0
# 监听地址
listeners=PLAINTEXT://hadoop001:9092
# 数据的存储位置
log.dirs=/usr/local/kafka-logs/00
# Zookeeper连接地址
zookeeper.connect=hadoop001:2181,hadoop001:2182,hadoop001:2183

server-2.properties:

broker.id=1
listeners=PLAINTEXT://hadoop001:9093
log.dirs=/usr/local/kafka-logs/01
zookeeper.connect=hadoop001:2181,hadoop001:2182,hadoop001:2183

server-3.properties:

broker.id=2
listeners=PLAINTEXT://hadoop001:9094
log.dirs=/usr/local/kafka-logs/02
zookeeper.connect=hadoop001:2181,hadoop001:2182,hadoop001:2183

そのここで留意すべきlog.dirsことは、保管場所ではなく、ログデータを実行して、パーティションの位置で、正確に、ログデータの格納場所を指します。ログを実行している場所はで同じディレクトリにあるlog4j.properties設定します。

クラスタ2.4を起動します

3つのカフカノードを開始、別のプロファイルを指定します。あなたはJPSのプロセスを表示使用を開始した後、次の3つの三飼育係プロセスカフカプロセスがあるはずです。

bin/kafka-server-start.sh config/server-1.properties
bin/kafka-server-start.sh config/server-2.properties
bin/kafka-server-start.sh config/server-3.properties

2.5テストのトピックを作成します。

テストトピックを作成します。

bin/kafka-topics.sh --create --bootstrap-server hadoop001:9092 \
                    --replication-factor 3 \
                    --partitions 1 --topic my-replicated-topic

あなたは情報作成したトピックを表示するには、次のコマンドを使用することができます作成​​後:

bin/kafka-topics.sh --describe --bootstrap-server hadoop001:9092 --topic my-replicated-topic

あなたがそこに0,1,2の3つのコピーがあり、コピーの3つのコピーが使用可能であり、両方とも1コピーのリーダーであるISR(イン・シンクのレプリカ同期コピー)リストに、クラスタに代わって、この時間はされている見ることができます0のパーティション成功を構築します。

もっと大きなデータ系列は、GitHubのオープンソースプロジェクトを見つけることができますビッグデータははじめに

おすすめ

転載: www.cnblogs.com/heibaiying/p/11371330.html
おすすめ