、飼育係クラスタセットアップ
高可用性クラスタを確保するために、クラスタは、飼育係は、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のオープンソースプロジェクトを見つけることができます:ビッグデータははじめに