Cách cài đặt cơ sở dữ liệu Apache Cassandra NoSQL trên CentOS 8

theanh

Administrator
Nhân viên
Apache Cassandra là một hệ thống quản lý cơ sở dữ liệu NoSQL hiệu suất cao mã nguồn mở không có điểm lỗi đơn lẻ. Apache Cassandra sử dụng mô hình cụm thay vì sử dụng mô hình bảng được thấy trong MySQL/PostgreSQL. Cassandra phù hợp với các ứng dụng không thể để mất dữ liệu. Dữ liệu được tự động sao chép vào nhiều nút để có khả năng chịu lỗi. Các nút bị lỗi có thể được thay thế tự động mà không có thời gian chết.

Apache Cassandra là lựa chọn tốt nhất cho bạn nếu bạn đang tìm kiếm khả năng mở rộng, tính khả dụng cao và hiệu suất cao.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Apache Cassandra trên CentOS 8.

Yêu cầu​

  • Máy chủ chạy CentOS 8 với tối thiểu 2 GB RAM.
  • Mật khẩu gốc được thiết lập trên hệ thống của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật máy chủ của mình lên phiên bản ổn định mới nhất. Bạn có thể cập nhật máy chủ của mình bằng lệnh sau:
Mã:
dnf update
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại để áp dụng các thay đổi.

Cài đặt Java​

Apache Cassandra yêu cầu phải cài đặt OpenJDK 8 và Python2 trên hệ thống. Bạn có thể cài đặt OpenJDK 8 và Python2 bằng lệnh sau:
Mã:
dnf install java-1.8.0-openjdk-devel python2
Sau khi cài đặt cả hai gói, bạn có thể xác minh phiên bản Java bằng lệnh sau:
Mã:
java -version
Bạn sẽ thấy đầu ra sau:
Mã:
openjdk version "1.8.0_232"Môi trường chạy thời gian OpenJDK (bản dựng 1.8.0_232-b09)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 25.232-b09, chế độ hỗn hợp)

Cài đặt Apache Cassandra​

Theo mặc định, Apache Cassandra không có trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần tạo một kho lưu trữ cho việc đó. Bạn có thể tạo tệp repo mới /etc/yum.repos.d/cassandra.repo như hiển thị bên dưới:
Mã:
nano /etc/yum.repos.d/cassandra.repo
Thêm các dòng sau:
Mã:
[cassandra]name = DataStax Repo cho Apache Cassandrabaseurl = http://rpm.datastax.com/communityenabled = 1gpgcheck = 0
Lưu và đóng tệp, sau đó cài đặt Apache Cassandra bằng lệnh sau:
Mã:
dnf install dsc20
Sau khi hoàn tất cài đặt, bạn có thể tiến hành bước tiếp theo

Tạo tệp đơn vị Systemd cho Cassandra​

Theo mặc định, gói Apache Cassandra không thể tạo tệp dịch vụ cho chính nó. Vì vậy, bạn sẽ cần tạo một tệp dịch vụ systemd để quản lý dịch vụ Cassandra. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/systemd/system/cassandra.service
Thêm các dòng sau:
Mã:
[Unit]Description=ApacheCassandra After=network.target[Service]PIDFile=/var/run/cassandra/cassandra.pidUser=cassandraGroup=cassandraExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pidRestart=always[Install]WantedBy=multi-user.target
Lưu và đóng tệp. Sau đó, tải lại daemon systemd bằng lệnh sau:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ Cassandra và cho phép nó khởi động sau khi hệ thống khởi động lại bằng lệnh sau:
Mã:
systemctl start cassandra
systemctl enable cassandra
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Cassandra bằng lệnh sau:
Mã:
systemctl status cassandra
Bạn sẽ thấy đầu ra sau:
Mã:
? cassandra.service - Apache Đã tải: đã tải (/etc/systemd/system/cassandra.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2019-12-07 01:25:26 EST; 1 phút 51 giây trước PID chính: 1888 (java) Nhiệm vụ: 53 (giới hạn: 25044) Bộ nhớ: 272,7M CGroup: /system.slice/cassandra.service ??1888 java -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:Threa>07/12 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,054 Đang ghi Memtable-local@1642973315(10104/101040 byte tuần tự/trực tiếp, 259 lệnh)07/12 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,118 Đã hoàn tất việc xóa /var/lib/cassandra/data/system/local/system-local-jb-4-Data.db >07/12 01:25:29 centos8 cassandra[1888]: THÔNG TIN 01:25:29,124 Đang nén [SSTableReader(path='/var/lib/cassandra/data/system/local/system-local->07/12 01:25:29 centos8 cassandra[1888]: THÔNG TIN 01:25:29,169 Trạng thái nút localhost/127.0.0.1 nhảy đến trạng thái bình thường07/12 01:25:29 centos8 cassandra[1888]: THÔNG TIN 01:25:29,294 Đã nén 4 sstables thành [/var/lib/cassandra/data/system/local/system-local-jb-5,].>07/12 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,322 Bắt đầu lắng nghe các máy khách CQL trên localhost/127.0.0.1:9042...07/12 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,376 Sử dụng TFramedTransport với kích thước khung tối đa là 15728640 byte.07/12 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,378 Liên kết dịch vụ tiết kiệm với localhost/127.0.0.1:916007/12 01:25:29 centos8 cassandra[1888]: INFO 01:25:29,391 Sử dụng máy chủ tiết kiệm đồng bộ/threadpool trên localhost: 916007/12 01:25:29 centos8 cassandra[1888]: THÔNG TIN 01:25:29,422 Đang lắng nghe các máy khách tiết kiệm...

Kiểm tra cài đặt Apache Cassandra​

Apache Cassandra hiện đã được cài đặt và chạy trên máy chủ của bạn. Bạn có thể xác minh xem nó có đang chạy hay không bằng lệnh sau:
Mã:
nodetool status
Bạn sẽ thấy lệnh sau:
Mã:
Datacenter: datacenter1=====================Status=Up/Down|/ State=Normal/Leaving/Joining/Moving-- Address Load Tokens Owns (effective) Host ID RackUN 127.0.0.1 46.11 KB 256 100.0% 2a680007-8c30-4bde-9a3f-9fa212b96d11 rack1

Cấu hình Apache Cassandra​

Theo mặc định, Cassandra được cấu hình để chỉ chấp nhận kết nối từ máy chủ cục bộ.

Bạn cũng có thể đăng nhập vào Cassandra thông qua Ngôn ngữ truy vấn Cassandra. Để truy cập shell CQL, hãy chạy lệnh sau:
Mã:
cqlsh
Bạn sẽ thấy đầu ra sau:
Mã:
Đã kết nối với Cụm thử nghiệm tại localhost:9160.[cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0]Sử dụng HELP để được trợ giúp.cqlsh>
Trong đầu ra ở trên, bạn sẽ thấy cụm Cassandra được đặt tên là “Cụm thử nghiệm”. Bạn cũng có thể thay đổi tên cụm mặc định này.

Để thực hiện, hãy đăng nhập vào shell CQL bằng lệnh sau:
Mã:
cqlsh
Tiếp theo, hãy chạy lệnh sau để thay đổi tên cụm thành "HowtoForge Cluster" như hiển thị bên dưới:
Mã:
cqlsh> CẬP NHẬT system.local ĐẶT cluster_name = 'HowtoForge Cluster' WHERE KEY = 'local';
Tiếp theo, thoát khỏi shell bằng lệnh sau:
Mã:
cqlsh>exit;
Tiếp theo, bạn cũng cần chỉnh sửa tệp cấu hình cassandra.yaml và xác định tên cụm mới của mình:
Mã:
nano /etc/cassandra/default.conf/cassandra.yaml
Thay đổi dòng sau:
Mã:
cluster_name: 'HowtoForge Cluster'
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, xóa bộ nhớ đệm hệ thống bằng lệnh sau:
Mã:
nodetool flush system
Cuối cùng, khởi động lại dịch vụ Apache Cassandra để áp dụng cấu hình mới:
Mã:
systemctl restart cassandra
Bây giờ, hãy đăng nhập vào shell CQL bằng lệnh sau:
Mã:
cqlsh
Bạn sẽ thấy tên cụm hiện đã được đổi thành "HowtoForge Cluster":
Mã:
Đã kết nối với HowtoForge Cluster tại localhost:9160.[cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0]Sử dụng HELP để được trợ giúp.cqlsh>

Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công Apache Cassandra trên CentOS 8. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên