Cách cài đặt cụm CockroachDB trên Debian 11

theanh

Administrator
Nhân viên
CockroachDB là một cơ sở dữ liệu SQL phân tán và có thể mở rộng nguồn mở cho các ứng dụng đám mây. CockroachDB cung cấp tính nhất quán ở cấp độ tiếp theo, cơ sở dữ liệu SQL được sao chép và kho lưu trữ dữ liệu giao dịch. CockroachDB lưu trữ dữ liệu của bạn ở nhiều vị trí giúp việc phân phối dữ liệu nhanh hơn. Ngoài ra, CockroachDB dễ dàng mở rộng và cung cấp tính khả dụng cao cùng khả năng chịu lỗi cho các ứng dụng của bạn.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt cụm CockroachDB trên máy chủ Debian 11.

Điều kiện tiên quyết​

  • Hai hoặc nhiều máy chủ Debian 11.
  • Mật khẩu gốc được cấu hình trên các máy chủ.

Cài đặt CockroachDB trên cả 3 máy chủ​

Đối với quá trình cài đặt, cockroachdb rất dễ cài đặt. Đó là vì cockroachdb cung cấp một tệp nhị phân cho hệ thống Linux mà bạn có thể tải xuống hệ thống của mình.

Tải xuống tệp nhị phân cockroachdb cho Linux bằng lệnh sau. Lệnh này sẽ tải xuống tệp nhị phân cockroachdb, giải nén tệp đã nén, sau đó di chuyển tệp nhị phân của cockroachdb đến thư mục /usr/local/bin.
Mã:
curl https://binaries.cockroachdb.com/cockroach-v21.2.8.linux-amd64.tgz | tar -xz && sudo cp -i cockroach-v21.2.8.linux-amd64/cockroach /usr/local/bin/
Cockroachdb sử dụng thư viện GEOS tích hợp tùy chỉnh. Thư viện GEOS được bao gồm trong tệp nén của cockroachdb và phải được cài đặt trong thư mục lib.

Tạo một thư mục mới /usr/local/lib/cockroach bằng lệnh bên dưới.
Mã:
mkdir -p /usr/local/lib/cockroach
Bây giờ hãy sao chép thư viện GEOS vào thư mục /usr/local/lib/cockroach.
Mã:
cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos.so /usr/local/lib/cockroach/
cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos_c.so /usr/local/lib/cockroach/
Cài đặt cơ bản của cockroachdb được cài đặt trên máy chủ Debian.



Chạy lệnh sau để kiểm tra tệp nhị phân cockroachdb và phiên bản cockroachdb hiện tại mà bạn vừa cài đặt.
Mã:
cockroach nào
phiên bản cockroach
Bạn sẽ nhận được kết quả sau.


Thiết lập Tường lửa​

Nếu bạn đang chạy Tường lửa trên máy chủ Debian của mình, bạn sẽ cần thêm các cổng cockroachdb vào cấu hình tường lửa.

Cockroachdb đã sử dụng cổng 8080 cho cockroachdb quản trị dựa trên web và cổng 26257 cho các kết nối người dùng và cấu hình cụm.

Thêm các cổng 808025267 vào tường lửa UFW bằng lệnh sau.
Mã:
sudo ufw allow 8080/tcp
sudo ufw allow 26257/tcp
Bây giờ hãy tải lại UFW quy tắc tường lửa và xác minh trạng thái hiện tại của các quy tắc tường lửa.
Mã:
sudo ufw reload
sudo ufw status
Dưới đây, bạn có thể thấy các cổng 808025267 được thêm vào tường lửa UFW.


Đang khởi tạo cụm CockroachDB​

Để khởi tạo cụm cockroachdb, hãy chạy lệnh bên dưới trên server11.

Bạn sẽ cần thay đổi giá trị của các tùy chọn sau:
  • --store: để lưu trữ dữ liệu của cụm CockroachDB.
  • --listen-addr: địa chỉ IP mà cockroachdb sẽ chạy trên máy chủ. Cổng mặc định cho cockroachdb là cổng 25267.
  • --http-addr: địa chỉ IP mà quản trị viên web cockroachdb sẽ chạy trên đó. Quản trị cockroachdb dựa trên web mặc định là cổng 8080.
Mã:
cockroach start \
--insecure \
--store=server11 \
--listen-addr=192.168.10.11:26257 \
--http-addr=192.168.10.11:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background
Bạn sẽ nhận được đầu ra sau.



Bây giờ hãy chuyển đến server2 và chạy lệnh sau để khởi động cockroachdb và tham gia cụm. Thay đổi địa chỉ IP trên --listen-addr--http-addr thành địa chỉ IP của server2.
Mã:
cockroach start \
--insecure \
--store=server2 \
--listen-addr=192.168.10.13:26257 \
--http-addr=192.168.10.13:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background
Bạn sẽ nhận được đầu ra sau từ server2.



Tiếp theo, di chuyển đến server3 và chạy lệnh sau để khởi động cockroachdb và tham gia cụm cockroachdb. Ngoài ra, hãy thay đổi địa chỉ IP của --listen-addr--http-addr thành địa chỉ IP của server3.
Mã:
cockroach start \
--insecure \
--store=server3 \
--listen-addr=192.168.10.14:26257 \
--http-addr=192.168.10.14:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background
Bạn sẽ nhận được đầu ra sau từ server3.



Sau khi hoàn tất, hãy quay lại server11 và chạy lệnh bên dưới để khởi tạo cụm cockroachdb.
Mã:
cockroach init --insecure --host=192.168.10.11:26257
Bạn sẽ nhận được thông báo đầu ra 'cluster successfully initialized', nghĩa là cụm cockroachdb đã được khởi tạo thành công.

Bạn có thể chạy lệnh grep bên dưới để kiểm tra nhật ký khởi tạo cockroachdb. Thay đổi thư mục server11 bằng thư mục cockroachdb --store của bạn.
Mã:
grep 'node starting' server11/logs/cockroach.log -A 11
Dưới đây, bạn có thể thấy nhật ký từ quá trình khởi tạo cụm cockroachdb server11.



Cuối cùng, hãy mở trình duyệt web và truy cập địa chỉ IP của máy chủ theo sau là cổng 8080.


Dưới đây, bạn có thể thấy có ba nút trên cụm cockroachdb.


Kiểm tra Tạo Cơ sở dữ liệu Mới trên CockroachDB​

Bây giờ cụm cockroachdb đang chạy, bạn có thể sử dụng bất kỳ máy chủ nào làm cổng SQL để truy cập cockroachdb.

Chạy lệnh cockroach trên server11 để kết nối với cụm cockroachdb.
Mã:
cockroach sql --insecure --host=192.168.10.11:26257


Sau khi bạn đã kết nối với shell SQL, hãy chạy truy vấn bên dưới để tạo cơ sở dữ liệu mới.
Mã:
CREATE DATABASE bank;
Bây giờ hãy tạo một bảng mới trên cơ sở dữ liệu bằng truy vấn sau.
Mã:
CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL);
Tiếp theo, nhập dữ liệu mẫu vào bảng.
Mã:
INSERT INTO bank.accounts (1, 1000.50);
Xác minh dữ liệu trên cơ sở dữ liệu bằng truy vấn sau.
Mã:
SELECT * FROM bank.accounts;
Bạn sẽ nhận kết quả sau.



Tiếp theo, di chuyển đến server2 hoặc server3 và đăng nhập vào shell cockroachdb SQL bằng lệnh sau.
Mã:
cockroach sql --insecure --host=192.168.10.14:26257
Sau khi bạn đã kết nối với shell SQL trên server3, hãy chạy truy vấn sau để kiểm tra và xác minh bản sao cơ sở dữ liệu.
Mã:
SELECT * FROM bank.accounts;
Bạn sẽ thấy cơ sở dữ liệu và dữ liệu từ server11 được tự động sao chép sang server2 và server3.


Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt và định cấu hình cụm cockroachdb trên máy chủ Debian 11. Ngoài ra, bạn đã học cách kết nối với shell cockroachdb và các lệnh SQL cơ bản để tạo cơ sở dữ liệu và chèn dữ liệu.
 
Back
Bên trên