ZooKeeper là một dự án phần mềm của Apache Software Foundation cung cấp dịch vụ dữ liệu chia sẻ hiệu suất cao được sử dụng để xây dựng các ứng dụng phân tán. Nó được sử dụng bởi một cụm để duy trì dữ liệu chia sẻ với các kỹ thuật đồng bộ hóa mạnh mẽ. Nó cung cấp một giao diện đơn giản để quản lý thông tin cấu hình, đặt tên, đồng bộ hóa phân tán và cung cấp các dịch vụ nhóm.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Apache ZooKeeper trên máy chủ Ubuntu 20.04.
Sau khi cài đặt Java, hãy xác minh phiên bản Java đã cài đặt bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, đặt mật khẩu cho người dùng này và thêm vào nhóm sudo bằng lệnh sau:
Tiếp theo, tạo một thư mục dữ liệu cho zookeeper và thay đổi quyền sở hữu của thư mục này:
Tiếp theo, bạn sẽ cần tải xuống phiên bản mới nhất của zookeeper vào thư mục /opt. Bạn có thể tải xuống bằng lệnh sau:
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, đổi tên thư mục đã giải nén thành zookeeper bằng lệnh sau:
Tiếp theo, thay đổi quyền sở hữu của thư mục zookeeper bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động dịch vụ ZooKeeper bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Theo mặc định, ZooKeeper đang lắng nghe trên cổng 2181. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Bây giờ bạn có thể kết nối với máy chủ cục bộ ZooKeeper bằng lệnh sau:
Sau khi kết nối, bạn sẽ nhận được kết quả đầu ra sau:
Bây giờ, thoát khỏi phiên bằng lệnh sau:
Tiếp theo, dừng dịch vụ ZooKeeper bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng cấu hình thay đổi:
Tiếp theo, thay đổi quyền sở hữu của thư mục ZooKeeper và dữ liệu bằng lệnh sau:
Tiếp theo, khởi động dịch vụ ZooKeeper và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Bây giờ bạn có thể kiểm tra trạng thái của dịch vụ ZooKeeper bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Apache ZooKeeper trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một mật khẩu gốc được cấu hình cho máy chủ.
Cài đặt Java
Apache ZooKeeper được viết bằng Java nên bạn sẽ cần cài đặt Java vào hệ thống của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install default-jdk -y
Mã:
java --version
Mã:
openjdk 11.0.8 2020-07-14Môi trường chạy thời gian OpenJDK (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04, chế độ hỗn hợp, chia sẻ)
Cài đặt Zookeeper
Trước khi cài đặt Apache zookeeper, bạn sẽ cần tạo một người dùng mới cho zookeeper. Bạn có thể tạo nó bằng lệnh sau:
Mã:
useradd zookeeper -m
Mã:
usermod --shell /bin/bash zookeeper
passwd zookeeper
usermod -aG sudo zookeeper
Mã:
mkdir /zookeeper
chown -R zookeeper:zookeeper /zookeeper
Mã:
cd /opt
wget https://mirrors.estointernet.in/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
Mã:
tar -xvzf apache-zookeeper-3.6.2-bin.tar.gz
Mã:
mv apache-zookeeper-3.6.2-bin zookeeper
Mã:
chown -R zookeeper:zookeeper /opt/zookeeper
Cấu hình ZooKeeper ở chế độ độc lập
Tiếp theo, bạn sẽ cần tạo tệp cấu hình ZooKeeper để thiết lập ZooKeeper ở chế độ độc lập. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /opt/zookeeper/conf/zoo.cfg
Mã:
tickTime=2500dataDir=/zookeeperclientPort=2181maxClientCnxns=80
Mã:
cd /opt/zookeeper
bin/zkServer.sh start
Mã:
ZooKeeper JMX được bật theo mặc địnhSử dụng cấu hình: /opt/zookeeper/bin/../conf/zoo.cfgĐang khởi động zookeeper ... ĐÃ BẮT ĐẦU
Mã:
ss -ntpl | grep 2181
Mã:
LISTEN 0 50 *:2181 *:* users:(("java",pid=12749,fd=53))
Mã:
bin/zkCli.sh -server 127.0.0.1:2181
Mã:
WATCHER::WatchedEvent state:SyncConnected type:None path:null[zk: 127.0.0.1:2181(CONNECTED) 0]
Mã:
quit
Mã:
bin/zkServer.sh stop
Mã:
ZooKeeper JMX được bật theo mặc địnhSử dụng cấu hình: /opt/zookeeper/bin/../conf/zoo.cfgDừng zookeeper ... STOPPED
Tạo tệp dịch vụ Systemd cho ZooKeeper
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý dịch vụ ZooKeeper. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/systemd/system/zookeeper.service
Mã:
[Unit]Description=Zookeeper DaemonDocumentation=http://zookeeper.apache.orgRequires=network.targetAfter=network.target[Service]Type=forkingWorkingDirectory=/opt/zookeeperUser=zookeeperGroup=zookeeperExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfgExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfgExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfgTimeoutSec=30Restart=on-failure[Install]WantedBy=default.target
Mã:
systemctl daemon-reload
Mã:
chown -R zookeeper:zookeeper /opt/zookeeper
chown -R zookeeper:zookeeper /zookeeper
Mã:
systemctl start zookeeper
systemctl enable zookeeper
Mã:
systemctl status zookeeper
Mã:
? zookeeper.service - Zookeeper Daemon Đã tải: đã tải (/etc/systemd/system/zookeeper.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2020-09-27 06:43:28 UTC; 8 giây trước Tài liệu: http://zookeeper.apache.org Tiến trình: 13915 ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg (code=exited, status=0/SUCCESS) PID chính: 13946 (java) Nhiệm vụ: 37 (giới hạn: 4691) Bộ nhớ: 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>27/09 06:43:27 ubuntu2004 systemd[1]: Đang khởi động Zookeeper Daemon...27/09 06:43:27 ubuntu2004 zkServer.sh[13915]: /usr/bin/java27/09 06:43:27 ubuntu2004 zkServer.sh[13915]: ZooKeeper JMX được bật theo mặc định27/09 06:43:27 ubuntu2004 zkServer.sh[13915]: Đang sử dụng config: /opt/zookeeper/conf/zoo.cfg27/09 06:43:28 ubuntu2004 zkServer.sh[13915]: Đang khởi động zookeeper ... ĐÃ BẮT ĐẦU27/09 06:43:28 ubuntu2004 systemd[1]: Đã khởi động Zookeeper Daemon.