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.
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.
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:
Bạn sẽ thấy đầu ra sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó cài đặt Apache Cassandra bằng lệnh sau:
Sau khi hoàn tất cài đặt, bạn có thể tiến hành bước tiếp theo
Thêm các dòng sau:
Lưu và đóng tệp. Sau đó, tải lại daemon systemd bằng lệnh sau:
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:
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Cassandra bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bạn sẽ thấy lệnh sau:
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:
Bạn sẽ thấy đầu ra sau:
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:
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:
Tiếp theo, thoát khỏi shell bằng lệnh sau:
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:
Thay đổi dòng sau:
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:
Cuối cùng, khởi động lại dịch vụ Apache Cassandra để áp dụng cấu hình mới:
Bây giờ, hãy đăng nhập vào shell CQL bằng lệnh sau:
Bạn sẽ thấy tên cụm hiện đã được đổi thành "HowtoForge Cluster":
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
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
Mã:
java -version
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
Mã:
[cassandra]name = DataStax Repo cho Apache Cassandrabaseurl = http://rpm.datastax.com/communityenabled = 1gpgcheck = 0
Mã:
dnf install dsc20
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
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
Mã:
systemctl daemon-reload
Mã:
systemctl start cassandra
systemctl enable cassandra
Mã:
systemctl status cassandra
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
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
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>
Để thực hiện, hãy đăng nhập vào shell CQL bằng lệnh sau:
Mã:
cqlsh
Mã:
cqlsh> CẬP NHẬT system.local ĐẶT cluster_name = 'HowtoForge Cluster' WHERE KEY = 'local';
Mã:
cqlsh>exit;
Mã:
nano /etc/cassandra/default.conf/cassandra.yaml
Mã:
cluster_name: 'HowtoForge Cluster'
Mã:
nodetool flush system
Mã:
systemctl restart cassandra
Mã:
cqlsh
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>