序文
Zookeeper はビッグデータ プラットフォームに必要なサービスの 1 つです。Zookeeper の管理は、たとえば、Hadoop クラスター、Kafka クラスター、Hbase クラスターで必要です。
準備
- Centos、Ubuntu などの 3 つの Linux ホストを準備する必要があります。
- 3 つの Linux ホストで Java 環境変数を構成します。
- 3 つのホストに対して SSH パスワード不要のログインを構成します。
構築を開始する
- Zookeeper インストール パッケージをダウンロードします。バージョン 3.1.14 です。wget を使用してダウンロードするだけです。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
- ダウンロード後、tar コマンドを使用してインストール パッケージを解凍します。
tar -zxvf zookeeper-3.4.14.tar.gz
- 設定ファイルを書き込む
# 切换到Zookeeper的conf目录下
cd zookeeper-3.4.14/conf
# 拷贝一份配置
cp zoo_sample.cfg zoo.cfg
# 使用vim打开配置文件进行编辑
vim zoo.cfg
動物園.cfg
tickTime=2000
initLimit=10
syncLimit=5
# 数据存储目录
dataDir=/tmp/zookeeper
# Zookeeper的端口
clientPort=2181
# 集群节点的配置
# 其中server.0的0为Zookeeper集群中的节点id
# 2888为原子广播端口,3888为选举端口
server.0=192.168.0.12:2888:3888
server.1=192.168.0.11:2888:3888
server.2=192.168.0.6:2888:3888
- myid 構成ファイルを作成します。myid
構成ファイルの内容は、zoo.cfg で構成されたserver.id に対応します。たとえば、server.0 ノードは、myid 構成ファイルで「0」を構成する必要があります。
myid 設定ファイルの場所は、zoo.cfg の dataDir のディレクトリです。
リダイレクトを通じて構成コンテンツを myid ファイルに書き込みます。
echo 0 > /tmp/zookeeper/myid
- 解凍して構成した Zookeeper ディレクトリを他の 2 台のマシンにリモートでコピーします。
scp -r zookeeper-3.4.14 [email protected]:/home/worker/bigdata/
設定を変更する必要はなく、対応する myid ファイルを設定するだけです。
echo 2 > /tmp/zookeeper/myid
3 台目のマシンについても同様です。
飼育員を始める
3 台のマシンがすべて構成されたら、テストのために Zookeeper を起動します。環境変数が設定されていないため、コマンドを実行するには Zookeeper bin ディレクトリに入る必要があります。
コマンドでZookeeperを起動する
./zkServer.sh start
他の 2 台のマシンでも同じコマンドを実行し
、次のコマンドを使用して起動が成功したかどうかを確認します。
./zkServer.sh status
Modeにステータスが表示されれば設定成功です。フォロワー2名とリーダー1名。
テストに zkClinet を使用することもできます。また、次の Minglin を使用して bin ディレクトリ内の Zookeeper クラスターにログインすることもできます。
./zkCli.sh
ログイン成功画面:
ルート ノードにzookeeperを持つディレクトリは成功します。
これらが表示されない場合は、何らかの問題が発生している可能性があります。bin ディレクトリには、Zookeeper の実行ログが保存される Zookeeper.out ファイルもあります。内部のログを確認して、何が問題であるかを判断できます。