はじめに
ZooKeeper は、グループサービスの監視と管理を簡素化するように設計されたApacheSoftwareFoundationプロジェクトです。構成、情報、命名、分散同期、プロビジョニングを管理する一元化された調整サービスにシンプルなインターフェースを使用しています。
このチュートリアルでは、Ubuntu18.04または20.04にApacheZooKeeperをインストールしてセットアップする方法を学びます。
前提条件
- Ubuntu20.04または18.04を実行しているLinuxシステム
- ターミナルウィンドウ/コマンドラインへのアクセス(検索>ターミナル )
- sudoのユーザーアカウント またはルート 特権
UbuntuへのApacheZooKeeperのインストール
ステップ1:Javaのインストール
ZooKeeperはJavaで記述されており、このプログラミング言語が機能する必要があります。 Javaがすでにインストールされているかどうかを確認するには、次のコマンドを実行します。
java --version
出力に実行中のJavaバージョンが表示されている場合は、次の手順に進むことができます。システムがno such file or directoryと言った場合 、ZooKeeperに移行する前にJavaをインストールする必要があります。
Ubuntuで利用できるさまざまなオープンソースのJavaパッケージがあります。 UbuntuにJavaをインストールする方法で、自分に最適なものとそのインストールガイドを見つけてください。手順はUbuntu18.04とUbuntu20.04に適用されます。
ステップ2:ZooKeeperのユーザーを作成する
1.次のように入力して、ZooKeeperサービス用の別のユーザーを作成します。
useradd zookeeper -m
-m flagは、ユーザーのホームディレクトリを作成します。この場合、/home/zookeeperになります 。ユーザーに別の名前を付けるには、 zookeeperを置き換えます お好みの名前で。
2.次に、 bashを設定します 次のコマンドを使用して、新しいユーザーのデフォルトシェルとして:
usermod --shell /bin/bash zookeeper 3.ユーザーのパスワードを設定します:
passwd zookeeper ZooKeeperユーザーの強力なパスワードを入力して再入力します。
4.次に、ユーザーをsudoersグループに追加して、sudo権限を付与します。
usermod -aG sudo zookeeper 5. sudoersグループのアカウントを一覧表示して、ユーザーがスーパーユーザーになったことを確認します。
sudo getent group sudo 出力には、作成したユーザーが表示されます。
ステップ3:ZooKeeperデータディレクトリを作成する
ZooKeeperをインストールする前に、構成データと状態データを(ローカルディスクまたはリモートストレージに)保存できるディレクトリ構造を作成します。
ローカルマシンにデータを保存するには、最初に次のコマンドを実行して新しいZooKeeperディレクトリを作成します。
sudo mkdir -p /data/zookeeper 次に、ZooKeeperユーザーにそのディレクトリの所有権を付与します。
chown -R zookeeper:zookeeper /data/zookeeper ステップ4:ZooKeeperのダウンロードとインストール
1.選択したWebブラウザーを開き、ApacheZooKeeperダウンロードページに移動します。最新の安定版リリースがページの上部に表示されます。インストールするバージョンをクリックして、Apacheダウンロードミラーを開きます。
2.提案されたミラーサイトのHTTPアドレスをコピーします。
3.コマンドラインに戻り、 /optに移動します ディレクトリ:
cd /opt
4. wgetを使用します 。tarをダウンロードするコマンド ファイル。 Apacheの公式Webページからコピーしたリンクを貼り付けます:
sudo wget https://downloads.apache.org/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz 5.次のコマンドを実行してファイルを抽出します:
sudo tar -xvf apache-zookeeper-3.6.1-bin.tar.gz
6.抽出したファイルの名前をzookeeperに変更します コマンドを使用して:
mv apache-zookeeper-3.6.1-bin zookeeper 7.次のコマンドを実行して、zookeeperユーザーにそのファイルの所有権を付与します。
chown -R zookeeper:zookeeper /opt/zookeeper ステップ5:スタンドアロンモードでのZooKeeperの構成
次のステップは、ZooKeeperの構成ファイルを作成することです。以下の構成では、ZooKeeperをスタンドアロンモード(開発とテストに使用)でセットアップします。本番環境では、ZooKeeperをレプリケーションモードで実行する必要があります。
ZooKeeperをスタンドアロンモードで構成するには、新しい zoo.cfgを作成します。 zookeeperのファイル ディレクトリ:
sudo nano /opt/zookeeper/conf/zoo.cfg 次の行を追加します:
tickTime = 2000
dataDir = /data/zookeeper
clientPort = 2181
initLimit = 5
syncLimit = 2 保存 および終了 テキストエディタ。
これは、単一ノードクラスターの基本的な構成設定であることに注意してください。ファイルは必要に応じて異なる場合があります。上記の行は次のとおりです。
-
tickTime:各ティックのミリ秒数。 -
dataDir:インメモリデータベースのスナップショットと更新のトランザクションログが保存されるディレクトリ。 -
clientPort:クライアント接続をリッスンしているポート。 -
initLimit:最初の同期フェーズにかかる可能性のあるティック数。 -
syncLimit:リクエストの送信から確認応答の取得までに通過できるティック数。
ステップ6:ZooKeeperサービスを開始する
これで、ZooKeeperサービスを開始できます。 / opt内で次のコマンドを実行します ディレクトリ。ディレクトリを終了した場合は、 cd /optを使用してディレクトリ内を移動します 。
ZooKeeperサービスを開始するには、次のコマンドを使用します。
sudo bin/zkServer.sh start 出力には、ZooKeeperが開始したことが表示されます。 。
ステップ7:ZooKeeperサーバーへの接続
サービスを開始すると、ZooKeeperサーバーに接続できます。このガイドでは、これはローカルサーバーです。
次のコマンドでZooKeeperに接続します:
bin/zkCli.sh -server 127.0.0.1:2181
出力が新しいzkを開くのを待ちます プロンプト。接続済みであることを確認する必要があります 。
使用可能なコマンドのリストを表示するには、新しいコマンドプロンプトで次のコマンドを実行します。
help
セッションを閉じる 、タイプ:
quit ZooKeeperサービスを停止する 、コマンドを実行します:
bin/zkServer.sh stop ステップ8:システムサービスファイルの作成
最後に、ZooKeeperを管理するためのサービスファイルを作成する必要があります。
1.新しいzookeeper.serviceを作成します 選択したテキストエディタのファイル:
sudo nano /etc/systemd/system/zookeeper.service 2.次のコンテンツをファイルに貼り付けます。
[Unit]
Description=Zookeeper Daemon
Documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/zookeeper
User=zookeeper
Group=zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg
TimeoutSec=30
Restart=on-failure
[Install]
WantedBy=default.target 3.ファイルを保存して終了します。
4.次を実行してsystemdサービスをリロードします:
systemctl daemon-reload 5.次に、ZooKeeperサービスを開始し、起動時に開始できるようにします。
systemctl start zookeeper systemctl enable zookeeper 6.次のコマンドを使用して、サービスが稼働していることを確認します。
systemctl status zookeeper ZooKeeperがアクティブ(実行中)であることがわかります。 。
複製されたZooKeeperの構成
本番環境では、ZooKeeperノードのレプリケートされたクラスターをセットアップする必要があります。
Javaをインストールし、ZooKeeperユーザーを作成し、バイナリパッケージをダウンロードしたら、構成ファイルを作成する必要があります。スタンドアロンモードの基本構成とは異なり、複製モード さらに数行含まれています。
同じアプリケーション内のすべてのサーバーには、構成ファイルのコピーが必要です。
次のコマンドで各ファイルを作成します:
sudo nano /opt/zookeeper/conf/zoo.cfg 次に、次のコンテンツをファイルに貼り付けます。
tickTime=2000
dataDir=/var/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=[server_ip]:2888:3888
server.2=[server_ip]:2888:3888
server.3=[server_ip]:2888:3888 ファイルを保存して終了します。グループ内の各サーバーでこのプロセスを繰り返します。