記事ディレクトリ
1 はじめに
ZooKeeper は、構成情報の維持、名前付け、分散同期の提供、およびグループ サービスの提供を行う集中型サービスです。その効率的で安定した機能により、分散環境では不可欠なコンポーネントとなっています。この記事では、CentOS システムに最新バージョンの ZooKeeper をインストールして構成する方法を詳しく説明し、単一ノードからクラスターまでの完全な展開をカバーします。
2. 環境の準備
2.1 ソフトウェアのバージョン
システム バージョン: centos7.6
jdk バージョン: jdk8 (zookeeper3.5.5 以降、最小 jdk バージョンは jdk8)
Zookeeper バージョン: 3.8.1
2.2 JDKをインストールする
- jdk8 ダウンロード アドレスにログインするか、jdk8 をダウンロードするか、コピーしたアドレスを使用してください
- /usr/local/jdk に解凍します
- 環境変数を設定し、
vi /etc/profile
最後に追加します
#java environment
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
構成を有効にするには、refresh コマンドを実行します。source /etc/profile
java -version
jdk情報を実行して出力する
[root@localhost ~]# java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
[root@worker1 zookeeper]#
3. ダウンロードして解凍します。
ダウンロード アドレスにログインし、最新の3.8.1バージョンをダウンロードするか、コピーしたアドレスを
使用して解凍を実行しtar -zxvf apache-zookeeper-3.8.1-bin.tar.gz
てディレクトリを移動するかを選択します。mv apache-zookeeper-3.8.1-bin /usr/local/zookeeper
4. 詳細設定ファイル
# 设置ZooKeeper的基本时间单元(单位:毫秒)。该时间用于心跳和超时等。
tickTime=2000
# 设置ZooKeeper集群中的Follower服务器初始化连接到Leader服务器的超时时间(以tickTime的倍数表示)
initLimit=10
# 设置ZooKeeper集群中Follower服务器与Leader服务器之间的同步限制(以tickTime的倍数表示)
syncLimit=5
# 指定ZooKeeper数据存储目录
dataDir=/usr/local/zookeeper/data
# 指定ZooKeeper事务日志目录,如果不配置默认使用dataDir配置
dataLogDir=/usr/local/zookeeper/logs
# 指定ZooKeeper客户端访问端口
clientPort=2181
# 设置ZooKeeper的最大客户端连接数。设置为0表示无限制
maxClientCnxns=60
# 设置自动清理旧的事务快照文件的保留数量
autopurge.snapRetainCount=3
# 设置自动清理旧的事务快照文件的时间间隔(以小时为单位),设置为"0"以禁用自动清理功能
autopurge.purgeInterval=1
5. 単一ノードのインストール
Zookeeper ディレクトリに移動して、データ ディレクトリとログ ディレクトリを作成します。
[root@localhost zookeeper]# mkdir {data,logs}
conf ディレクトリで、zoo_sample.cfg をコピーし、zoo.cfg に名前を変更します。zookeeper が起動すると、conf ディレクトリでzoo.cfg 設定ファイルが検索されます。
[root@localhost zookeeper]# cp conf/zoo_sample.cfg conf/zoo.cfg
Zoo.cfg ファイルを変更します。主にデータ ディレクトリとログ ディレクトリを変更します。
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
起動コマンドを実行する
bin/zkServer.sh start
または、ここで注意が必要なのは、 –config は設定ファイルではなく、設定ファイルのあるディレクトリであることです
bin/zkServer.sh --config conf start
起動していることを確認して実行するjps
と、追加の QuorumPeerMain プロセスがあることがわかります起動が成功したことを示します
[root@localhost zookeeper]# jps
7698 QuorumPeerMain
7810 Jps
[root@localhost zookeeper]#
6. クラスターのインストール
6.1 機械の準備
jdk8 がインストールされた 3 台のマシンを用意しました (それぞれ192.168.1.21、192.168.1.22、192.168.1.23
)。後の構成の便宜上、マシンのホスト名をそれぞれ変更する必要があります。
マシン 1 の実行:hostnamectl set-hostname worker1
マシン 2 の実行:hostnamectl set-hostname worker2
マシン 2実行:hostnamectl set-hostname worker3
はい 使用方法を確認することでuname -a
有効になります
。同時に、これら 3 台のマシンのローカル ホスト ファイルの内容を変更する必要があります。
192.168.1.21 worker1
192.168.1.22 worker2
192.168.1.23 worker3
ホストのコンテンツを変更して実行し vi /etc/hosts
、変更後に保存して有効にします
6.2 設定ファイルの変更
3 台のマシンは、 zookeeper インストール ディレクトリにデータ ディレクトリdataとログ ディレクトリlogs
を作成する必要があります。3台のマシンはhostnameと変更されたhostで構成されているため、次のように同じ構成を使用できます。
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=worker1:2888:3888
server.2=worker2:2888:3888
server.3=worker3:2888:3888
server.1=worker1:2888:3888
詳細な説明:
1 : これはサーバーの一意の識別子であり、データ ディレクトリに myid ファイルを作成します。ファイルの内容は ID の値 (手順 6.3 で作成した内容) になります。 worker1:サーバーのホスト
名または IP アドレス、およびホストの内容は以前に変更されているため、worker1 を使用できます。
2888 : ノード間のデータ同期用の通信ポート
3888 : リーダー ノードを選出するための通信ポート
6.3 myidファイルの作成
マシン 1 が実行します:echo 1 >> /usr/local/zookeeper/data/myid
マシン 2 が実行します:echo 2 >> /usr/local/zookeeper/data/myid
マシン 3 が実行します:echo 3 >> /usr/local/zookeeper/data/myid
6.4 クラスタの起動
3 つのマシンで個別に起動コマンドを実行します。bin/zkServer.sh start
7. 推奨GUIツール
ここでPrettyZooを使用することをお勧めします。私は Windows で使用しているので、 prettyZoo-win.zip をダウンロードし、ダウンロードし
て解凍し、prettyZoo.exeをダブルクリックして使用します。
8. テストクラスター
prettyZooツールを使用してマシン 1 のアドレスを追加します。IP アドレスを追加した後、[保存] をクリックして保存します
。データを追加し、パスとデータを入力し、[作成] をクリックして作成します
。マシン 2 を追加して接続する
と、データが表示されます。マシン1に追加されました。
- 概要
この記事では、CentOS 7.6 での ZooKeeper 最新 3.8.1 のインストールと構成について詳しく説明します。環境の準備から始まり、zookeeperのダウンロードとインストール、設定ファイルについて詳しく解説しています。同時に、実用的な GUI ツールも推奨され、実際のテストを通じてクラスターのインストールが検証されます。この記事を通じて、CentOS 7.6 環境で ZooKeeper を構成および使用する方法を理解し、マスターしていただければ幸いです。