ZooKeeperのシリーズ(2) - 飼育係は、スタンドアロン環境とクラスタ環境を構築します

まず、スタンドアロン環境を構築します

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

1.2解凍

# tar -zxvf zookeeper-3.4.14.tar.gz

1.3設定環境変数

# vim /etc/profile

環境変数を追加します。

export ZOOKEEPER_HOME=/usr/app/zookeeper-3.4.14
export PATH=$ZOOKEEPER_HOME/bin:$PATH

有効にするには、環境変数の設定を作ります:

# source /etc/profile

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

インストールディレクトリconf/ディレクトリ、コピーし、コンフィギュレーションのサンプルを変更します。

# cp zoo_sample.cfg  zoo.cfg

次のように指定されたデータの格納ディレクトリおよびログファイルディレクトリ(事前作成せずにディレクトリには、プログラムが自動的に作成されます)、改訂された完全な設定は以下のとおりです。

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

設定パラメータ:

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

1.5開始

すでに環境変数を設定しているので、あなたは直接起動するには、次のコマンドを使用することができます。

zkServer.sh start

1.6検証

JPSは、プロセスが開始されているかどうかを確認し、登場QuorumPeerMain成功したスタートを表しています。

[root@hadoop001 bin]# jps
3814 QuorumPeerMain

第二に、クラスタ環境を構築します

高可用性クラスタを確保するために、クラスタはので、ここで、少なくとも3つのノードがあり、飼育係のベストが奇数であるノード3つのノードのクラスタを構築する実証します。ここで私が設定した3台のホストを使用し、ホスト名がhadoop001、hadoop002、hadoop003です。

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

飼育係のインストールパッケージを抽出し、設定ファイルを変更しzoo.cfg、次のように、。3台のサーバに配布パッケージをインストールするためにscpコマンドを使用した後:

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

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

2.2ノードを識別する

それぞれ3つのホストdataDir新しいディレクトリmyidファイルを、対応するノード識別子を記述します。飼育係クラスタmyidファイル識別クラスタノードおよびノードが通信ポートと選挙上記ポート構成、次期リーダーノードを介して通信をノードに。

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

# 三台主机均执行该命令
mkdir -vp  /usr/local/zookeeper-cluster/data/

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

# hadoop001主机
echo "1" > /usr/local/zookeeper-cluster/data/myid
# hadoop002主机
echo "2" > /usr/local/zookeeper-cluster/data/myid
# hadoop003主机
echo "3" > /usr/local/zookeeper-cluster/data/myid

クラスタ2.3を起動します

それぞれ3つのホスト上で、サービスを開始するには、次のコマンドを実行します。

/usr/app/zookeeper-cluster/zookeeper/bin/zkServer.sh start

2.4クラスタ検証

使用開始後のzkServer.sh status各クラスタ・ノードのステータスを表示します。図に示すように:三個のノードのプロセスが正常に開始され、従動ノードとしてリーダーノード、hadoop001とhadoop003としてhadoop002ました。

もっと大きなデータ系列は、個人のGitHubのオープンソースプロジェクトで見つけることができます:ビッグデータ入門します

おすすめ

転載: www.cnblogs.com/danrenying/p/11112070.html