ZooKeeperの導入

公開日: 2026-07-28 12:55 更新日: 2026-07-28 12:55 749文字 4 min read ... ページビュー

この記事では、ZooKeeperのインストール、設定、実行手順について説明します。ダウンロード、環境変数の設定、構成ファイルの編集、データ·ディレクトリの作成とmyidファイルの構成、および複数ノードでのサービスの同時構成と起動などが含まれます。ポート占有、権限付与、実行コマンドをチェックし、ZooKeeperが正常に起動し、選挙メカニズムの確認を完了することを最終的に確認します。

ZooKeeperの設定

ZooKeeperのインストール

ZooKeeperのダウンロード

wget -P /export/software/ https://repo.huaweicloud.com/apache/zookeeper/zookeeper-3.8.5/apache-zookeeper-3.8.5-bin.tar.gz

ZooKeeperをインストール

tar -zxvf /export/software/apache-zookeeper-3.8.5-bin.tar.gz -C /export/servers/
cd /export/servers/
mv /export/servers/apache-zookeeper-3.8.5-bin /export/servers/zookeeper

環境変数の設定

sudo vim /etc/profile

ファイルの末尾に次の構成を追加

export ZOOKEEPER_HOME=/export/servers/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

! [] httr2.hoshi.z_img/画像 15.png

環境変数の再ロード

source /etc/profile

設定ファイルの編集

cd /export/servers/zookeeper/conf

テンプレートを正式プロファイルとしてコピー

sudo cp /export/servers/zookeeper/conf/zoo_sample.cfg /export/servers/zookeeper/conf/zoo.cfg

sudo vim zoo.cfg

次に、ggdGすべてを削除大文字小文字と入力して、次の構成を入力します。

# 数据同步的基本时间单位(毫秒),默认2000
tickTime=2000

#  follower初始化连接到leader的最大心跳数(tickTime的倍数)
initLimit=10

#  follower与leader之间发送消息的最大心跳数(超过则认为连接失效)
syncLimit=5

# ZooKeeper数据存储目录(需与HBase的hbase.zookeeper.property.dataDir一致)
dataDir=/export/servers/zookeeper/data

# 客户端连接ZooKeeper的端口(默认2181,HBase会通过此端口连接)
clientPort=2181

# 集群节点配置(格式:server.编号=主机名:通信端口:选举端口)
# 编号需与每个节点的myid文件内容一致
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

# 允许客户端连接的最大数量(默认60,按需调整)
maxClientCnxns=60

# 自动清理事务日志的时间(小时),默认0表示不自动清理
autopurge.purgeInterval=1

! [] httr2.hoshi.z_img/画像 16.png

Hadoop01でデータディレクトリを作成し、myidに書き込む

mkdir -p /export/servers/zookeeper/data

sudo vim /export/servers/zookeeper/data/myid

以下を書く。

1

! [] httr2.hoshi.z_img/画像 17.png

ZooKeeperの配信

環境変数の分散

scp /etc/profile hadoop02:/tmp/profile

ssh hadoop02 "sudo cp /tmp/profile /etc/profile && sudo rm /tmp/profile"

scp /etc/profile hadoop03:/tmp/profile

ssh hadoop03 "sudo cp /tmp/profile /etc/profile && sudo rm /tmp/profile"

ZooKeeperの配布

scp -r /export/servers/zookeeper hadoop02:/tmp/

ssh hadoop02 "sudo cp -r /tmp/zookeeper/ /export/servers/ && sudo rm -rf /tmp/zookeeper"

scp -r /export/servers/zookeeper hadoop03:/tmp/

ssh hadoop03 "sudo cp -r /tmp/zookeeper/ /export/servers/ && sudo rm -rf /tmp/zookeeper"

他の2つのサーバのmyidを個別に編集する

Hadoop02への移行:

sudo vim /export/servers/zookeeper/data/myid

! [] httr2.hoshi.z_img/画像 18.png

Hadoop 0 3へのアクセス

sudo vim /export/servers/zookeeper/data/myid

! [] https//r2.hoshiumi.xyz/old_img/画像 19.png

環境変数の再ロード

ssh hadoop02 "bash -c 'source /etc/profile'"

ssh hadoop03 "bash -c 'source /etc/profile'"

ZooKeeperの使い方

ポートが使用されているかどうかの確認

sudo netstat -tunlp | grep 2181

もしあれば,sudo kill pidを用いてプロセスを強制終了する.

ZooKeeperフォルダの機能強化

sudo chown -R hadooper /export/servers/zookeeper

sudo chmod -R 755 /export/servers/zookeeper

ssh hadoop02 "sudo chown -R hadooper /export/servers/zookeeper && sudo chmod -R 755 /export/servers/zookeeper"

ssh hadoop03 "sudo chown -R hadooper /export/servers/zookeeper && sudo chmod -R 755 /export/servers/zookeeper"

ファイアウォールのシャットダウン

sudo ufw disable

ssh hadoop02 "sudo ufw disable"

ssh hadoop03 "sudo ufw disable"

ZooKeeperコマンドの実行

以下のコマンドを実行し、jpsを実行してzookeeperが正常に起動するかどうかを確認します。

$ZOOKEEPER_HOME/bin/zkServer.sh start

ssh hadoop02 "bash -c 'source /etc/profile && $ZOOKEEPER_HOME/bin/zkServer.sh start'"

ssh hadoop03 "bash -c 'source /etc/profile && $ZOOKEEPER_HOME/bin/zkServer.sh start'"

! [] httr2.hoshi.z_img/画像 20.png

選挙結果を見る

$ZOOKEEPER_HOME/bin/zkServer.sh status

ssh hadoop02 "bash -c 'source /etc/profile && $ZOOKEEPER_HOME/bin/zkServer.sh status'"

ssh hadoop03 "bash -c 'source /etc/profile && $ZOOKEEPER_HOME/bin/zkServer.sh status'"

リーダーはどこにいても

! [] httr2.hoshi.z_img/画像 21.png

気に入ったならばコメントを残してくださいね~

... ページビュー
© 2026 跨越星轨的客 @Hoshiumi
Powered by theme astro-koharu · Inspired by Shoka