GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にApacheZooKeeperをインストールする方法

ZooKeeperは、分散アプリケーションの構築に使用される高性能の共有データサービスを提供するApacheSoftwareFoundationによるソフトウェアプロジェクトです。これは、堅牢な同期技術を使用して共有データを維持するためにクラスターによって使用されます。構成情報、命名、分散同期、およびグループサービスのプロビジョニングを管理するためのシンプルなインターフェイスを提供します。

このチュートリアルでは、Ubuntu20.04サーバーにApacheZooKeeperをインストールする方法を示します。

前提条件
  • Ubuntu20.04を実行しているサーバー。
  • ルートパスワードがサーバーに設定されます。

Javaのインストール

Apache ZooKeeperはJavaで記述されているため、システムにJavaをインストールする必要があります。次のコマンドでインストールできます:

apt-get install default-jdk -y

Javaをインストールした後、次のコマンドを使用して、インストールされているJavaのバージョンを確認します。

java --version

次の出力が得られるはずです:

openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Zookeeperをインストールする

Apache zookeeperをインストールする前に、zookeeperの新しいユーザーを作成する必要があります。次のコマンドで作成できます:

useradd zookeeper -m

次に、このユーザーのパスワードを設定し、次のコマンドを使用してsudoグループに追加します。

usermod --shell /bin/bash zookeeper
passwd zookeeper
usermod -aG sudo zookeeper

次に、飼育係のデータディレクトリを作成し、このディレクトリの所有権を変更します。

mkdir /zookeeper
chown -R zookeeper:zookeeper /zookeeper

次に、動物園の飼育係の最新バージョンを/optディレクトリにダウンロードする必要があります。次のコマンドでダウンロードできます:

cd /opt
wget https://mirrors.estointernet.in/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar -xvzf apache-zookeeper-3.6.2-bin.tar.gz

次に、次のコマンドを使用して、抽出したディレクトリの名前をzookeeperに変更します。

mv apache-zookeeper-3.6.2-bin zookeeper

次に、次のコマンドを使用してzookeeperディレクトリの所有権を変更します。

chown -R zookeeper:zookeeper /opt/zookeeper
スタンドアロンモードでZooKeeperを構成する

次に、ZooKeeperをスタンドアロンモードでセットアップするためのZooKeeper構成ファイルを作成する必要があります。次のコマンドで作成できます:

nano /opt/zookeeper/conf/zoo.cfg

次の行を追加します:

tickTime=2500
dataDir=/zookeeper
clientPort=2181
maxClientCnxns=80

終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してZooKeeperサービスを開始します。

cd /opt/zookeeper
bin/zkServer.sh start

次の出力が得られるはずです:

ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

デフォルトでは、ZooKeeperはポート2181でリッスンしています。次のコマンドで確認できます:

ss -ntpl | grep 2181

次の出力が得られるはずです:

LISTEN    0         50                       *:2181                   *:*        users:(("java",pid=12749,fd=53)) 

これで、次のコマンドを使用してZooKeeperローカルサーバーに接続できます。

bin/zkCli.sh -server 127.0.0.1:2181

接続すると、次の出力が得られます。

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2181(CONNECTED) 0] 

次に、次のコマンドを使用してセッションを終了します。

quit

次に、次のコマンドを使用してZooKeeperサービスを停止します。

bin/zkServer.sh stop

次の出力が表示されます。

ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

ZooKeeperのSystemdサービスファイルを作成する

次に、ZooKeeperサービスを管理するためのsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:

nano /etc/systemd/system/zookeeper.service

次の行を追加します:

[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

ファイルを保存して閉じてから、systemdデーモンをリロードして構成の変更を適用します。

systemctl daemon-reload

次に、次のコマンドを使用して、ZooKeeperとデータディレクトリの所有権を変更します。

chown -R zookeeper:zookeeper /opt/zookeeper
chown -R zookeeper:zookeeper /zookeeper

次に、ZooKeeperサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。

systemctl start zookeeper
systemctl enable zookeeper

次のコマンドを使用して、ZooKeeperサービスのステータスを確認できるようになりました。

systemctl status zookeeper

次の出力が得られるはずです:

? zookeeper.service - Zookeeper Daemon
     Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-09-27 06:43:28 UTC; 8s ago
       Docs: http://zookeeper.apache.org
    Process: 13915 ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg (code=exited, status=0/SUCCESS)
   Main PID: 13946 (java)
      Tasks: 37 (limit: 4691)
     Memory: 50.6M
     CGroup: /system.slice/zookeeper.service
             ??13946 java -Dzookeeper.log.dir=/opt/zookeeper/bin/../logs -Dzookeeper.log.file=zookeeper-zookeeper-server-ubuntu2004.log -Dzook>

Sep 27 06:43:27 ubuntu2004 systemd[1]: Starting Zookeeper Daemon...
Sep 27 06:43:27 ubuntu2004 zkServer.sh[13915]: /usr/bin/java
Sep 27 06:43:27 ubuntu2004 zkServer.sh[13915]: ZooKeeper JMX enabled by default
Sep 27 06:43:27 ubuntu2004 zkServer.sh[13915]: Using config: /opt/zookeeper/conf/zoo.cfg
Sep 27 06:43:28 ubuntu2004 zkServer.sh[13915]: Starting zookeeper ... STARTED
Sep 27 06:43:28 ubuntu2004 systemd[1]: Started Zookeeper Daemon.
結論

おめでとう!これで、Ubuntu20.04サーバーにZooKeeperが正常にインストールおよび構成されました。これで、ZooKeeperを使用して分散アプリケーションを簡単にビルドおよびデプロイできます。


Ubuntu
  1. Ubuntu18.04にLogstashをインストールする方法

  2. Debian10にApacheZooKeeperをインストールする方法

  3. Ubuntu20.04にApacheMavenをインストールする方法

  1. Ubuntu20.04LTSにApacheMavenをインストールする方法

  2. Ubuntu20.04にApacheCassandraをインストールする方法

  3. Ubuntu18.04にRをインストールする方法

  1. Ubuntu18.04にApacheをインストールする方法

  2. UbuntuにApacheZooKeeperをインストールする方法

  3. UbuntuにApacheをインストールするにはどうすればいいですか?