Apache Cassandra là một hệ thống quản lý cơ sở dữ liệu NoSQL mã nguồn mở ban đầu được phát triển vào năm 2008 bởi các kỹ sư của Facebook, những người cần một công cụ lưu trữ có khả năng mở rộng với sự hỗ trợ của sao chép, phân vùng và cân bằng tải mà không cần phải đặt ra các hạn chế về loại hoặc kích thước phần cứng được sử dụng. Họ đã sử dụng MySQL nhưng nó không thể mở rộng quy mô khi họ tăng lượng người dùng lên hơn hàng chục triệu.
Các tính năng chính là khả năng mở rộng, khả năng mở rộng tuyến tính (nhiều nút hơn) để ghi thông lượng; kiến trúc phân tán hoàn toàn - phân mảnh trên các máy chủ thông dụng có khả năng mở rộng tuyến tính mà không có bất kỳ điểm lỗi đơn lẻ nào; dễ cài đặt và vận hành - không yêu cầu các tác vụ thiết lập phức tạp như cấu hình phần cứng và có thể chạy trên phần cứng thông dụng; tự phục hồi - nếu một nút bị hỏng, nó sẽ tự động được thay thế bằng một nút khác trong cụm.
Cơ sở dữ liệu Apache Cassandra thường được sử dụng làm kho lưu trữ dữ liệu cho phân tích hoạt động và thời gian thực. Ví dụ, trong không gian bán lẻ, các công ty đang sử dụng nó để theo dõi các mẫu lưu lượng khách hàng để họ có thể điều chỉnh cho phù hợp mà không phải chờ nhiều tuần hoặc nhiều tháng để có thông tin chi tiết từ các nhà phân tích của họ.
Nói cách khác, nếu bạn có một mặt hàng bán chạy ở một địa điểm nhưng không bán chạy ở địa điểm khác dựa trên các biến động như ngày lễ thì những thay đổi đó có thể được thực hiện ngay lập tức bằng loại công cụ phân tích mới này.
Hướng dẫn này sẽ hướng dẫn bạn cài đặt Apache Cassandra trên Ubuntu 20.04, đồng thời cũng đề cập đến quy trình gỡ cài đặt nếu cần.
Tùy chọn -y được sử dụng để tự động trả lời "có" khi có các bản cập nhật yêu cầu người dùng nhập dữ liệu.
Lệnh cập nhật sẽ lấy phiên bản mới nhất của các gói phần mềm. Lệnh nâng cấp sẽ cập nhật mọi gói đã cài đặt hiện có lên bản sửa đổi mới hơn (và/hoặc ổn định hơn).
Đầu ra mẫu:
Đang cập nhật hệ thống của bạn
Nâng cấp hệ thống của bạn
Phụ thuộc apt-transport-htps sẽ cho phép Apache Cassandra giao tiếp an toàn với các máy chủ khác thông qua mã hóa SSL. wget là một chương trình cho phép bạn tải xuống nội dung từ các máy chủ trên Internet. gnupg là một chương trình quản lý khóa được sử dụng để xác minh tính toàn vẹn của các tệp.
Đầu ra mẫu:
Cài đặt các phụ thuộc
Lệnh này sẽ tải xuống và cài đặt Java trên hệ thống của bạn. Số "8" trong lệnh ám chỉ Java 8, đây là phiên bản Java mặc định.
Đầu ra mẫu:
Cài đặt Java
Để xác minh xem Java đã được cài đặt chưa, hãy chạy lệnh sau:
Đầu ra mẫu:
Phiên bản Java
-q là tùy chọn sẽ tắt đầu ra.
Lệnh sudo apt-key add sẽ thêm khóa cần thiết để cài đặt Cassandra.
Đầu ra mẫu:
Nhập khóa GPG
Sau đó thêm kho lưu trữ Apache Cassandra vào tệp sources.list của bạn:
echo sẽ xuất nội dung của đối số được cung cấp trên một dòng mới và thêm nó vào cuối tệp .list được chỉ định trong đối số thứ hai của lệnh này, "/etc/apt/" được xếp trong dấu ngoặc kép sau deb (viết tắt của gói Debian). debian 311x main là tên của kho lưu trữ sẽ được thêm vào tệp source.list của bạn.
Tiếp theo, hãy cập nhật chỉ mục gói của hệ thống:
Sau đó, hãy cài đặt Apache Cassandra:
Lệnh trên sẽ tải xuống và cài đặt Apache Cassandra trên hệ thống của bạn.
Đầu ra mẫu:
Cài đặt Cassandra
Bạn có thể kiểm tra trạng thái của Apache Cassandra bằng cách nhập:
Đầu ra mẫu:
Kiểm tra trạng thái của Apache Cassandra
Nếu bạn cần khởi động lại Apache Cassandra, hãy nhập:
Ngoài ra, bạn có thể xác minh số liệu thống kê của nút trên hệ thống của mình bằng cách nhập:
Đầu ra mẫu:
Nodetool Status
Sau khi cài đặt Apache Cassandra hoàn tất, bạn có thể đăng nhập vào Apache Cassandra bằng lệnh sau:
Đầu ra mẫu:
Màn hình đăng nhập
Bây giờ để thoát khỏi công cụ cqlsh, hãy nhập exit và nhấn Enter.
Thư mục /var/lib/cassandra/data/ là vị trí mặc định của Cassandra data.
etc/cassandra là vị trí mặc định cho các tệp cấu hình của Cassandra.
Điều quan trọng là phải sao lưu tệp này trước khi thực hiện bất kỳ thay đổi nào để tránh mất dữ liệu.
Tên cụm mặc định của Cassandra là "test cluster". Nếu bạn muốn sử dụng tên khác, bạn có thể đăng nhập vào Cassandra và đổi tên:
Lệnh trên sẽ đổi tên cụm thành "Howtoforge Cluster".
Sau khi cụm được đổi tên, bạn phải khởi động lại Cassandra để nó thực hiện hiệu ứng:
sudo systemctl restart cassandra
Bây giờ, khi bạn đăng nhập vào giao diện của Apache Cassandra, nó sẽ hiển thị tên cụm mới.
Đầu ra mẫu:
Tên cụm mới
Bạn không thể sử dụng khoảng trắng hoặc ký hiệu đặc biệt như dấu gạch dưới (_) với tên cụm (tên phân biệt chữ hoa chữ thường), bạn sẽ cần sử dụng tên khác cho cụm của mình.
Dừng dịch vụ Apache Cassandra nếu nó đang chạy:
Sau đó xóa thư viện, thư mục nhật ký và gỡ cài đặt Apache Casandra bằng các lệnh sau:
Apache Cassandra sẽ bị xóa nhưng bạn vẫn còn một số tệp còn sót lại từ các gói khác cũng được cài đặt và có thể nhập những tệp này bất kỳ lúc nào. Do đó, bạn cũng nên xóa chúng:
- Nếu bạn nhận được lỗi "Không thể tạo luồng gốc", thì lỗi này thường do lỗi của hệ điều hành cơ bản. Nguyên nhân có thể là do bộ nhớ vật lý không khả dụng hoặc một số sự cố khác trên máy chủ. Kiểm tra nhật ký máy chủ của bạn để tìm thông báo lỗi liên quan đến phân bổ bộ nhớ ảo và thử điều chỉnh các tham số hạt nhân cho phù hợp (ví dụ: vmalloc=256m).
- Nếu bạn nhận được lỗi "lỗi khi tải thư viện dùng chung: libcurl.so", thì đây là sự cố liên quan đến cài đặt OpenSSL trên hệ thống của bạn (ví dụ: Ubuntu 16.04 trở lên).
- Không tìm thấy "cassandra-" trong thư mục /etc/init.d khi cố gắng khởi động thủ công. Bước đầu tiên là đảm bảo rằng bạn đã cài đặt và thiết lập đúng tập lệnh khởi tạo Apache Cassandra trên Ubuntu. Nếu cách này không hiệu quả, hãy thử chạy các lệnh sau bằng sudo: "update-rc.d cassandra defaults && service cassandra restart". Điều này sẽ giúp giải quyết vấn đề.
-"Lỗi khi cố gắng khởi động Apache Cassandra": hãy đảm bảo rằng các thay đổi bạn đã thực hiện được lưu trong các tệp cấu hình dịch vụ trước khi thoát.
Chúng tôi hy vọng rằng bài viết này hữu ích và chúng tôi sẽ gặp lại bạn trong bài hướng dẫn tiếp theo.
Bạn thích bài viết này? Hãy chia sẻ với bạn bè và theo dõi chúng tôi trên mạng xã hội.
Các tính năng chính là khả năng mở rộng, khả năng mở rộng tuyến tính (nhiều nút hơn) để ghi thông lượng; kiến trúc phân tán hoàn toàn - phân mảnh trên các máy chủ thông dụng có khả năng mở rộng tuyến tính mà không có bất kỳ điểm lỗi đơn lẻ nào; dễ cài đặt và vận hành - không yêu cầu các tác vụ thiết lập phức tạp như cấu hình phần cứng và có thể chạy trên phần cứng thông dụng; tự phục hồi - nếu một nút bị hỏng, nó sẽ tự động được thay thế bằng một nút khác trong cụm.
Cơ sở dữ liệu Apache Cassandra thường được sử dụng làm kho lưu trữ dữ liệu cho phân tích hoạt động và thời gian thực. Ví dụ, trong không gian bán lẻ, các công ty đang sử dụng nó để theo dõi các mẫu lưu lượng khách hàng để họ có thể điều chỉnh cho phù hợp mà không phải chờ nhiều tuần hoặc nhiều tháng để có thông tin chi tiết từ các nhà phân tích của họ.
Nói cách khác, nếu bạn có một mặt hàng bán chạy ở một địa điểm nhưng không bán chạy ở địa điểm khác dựa trên các biến động như ngày lễ thì những thay đổi đó có thể được thực hiện ngay lập tức bằng loại công cụ phân tích mới này.
Hướng dẫn này sẽ hướng dẫn bạn cài đặt Apache Cassandra trên Ubuntu 20.04, đồng thời cũng đề cập đến quy trình gỡ cài đặt nếu cần.
Điều kiện tiên quyết
- Máy chủ chạy Ubuntu Server 20.04
- Người dùng có quyền sudo
Bắt đầu
Cập nhật hệ thống của bạn
Ubuntu 20.04 đã được cài đặt sẵn Apache Cassandra, nhưng để đảm bảo rằng tất cả các gói hệ thống của bạn đều được cập nhật, chạy các lệnh bên dưới trong thiết bị đầu cuối của bạn:
Mã:
sudo apt update -y
Mã:
sudo apt upgrade -y
Lệnh cập nhật sẽ lấy phiên bản mới nhất của các gói phần mềm. Lệnh nâng cấp sẽ cập nhật mọi gói đã cài đặt hiện có lên bản sửa đổi mới hơn (và/hoặc ổn định hơn).
Đầu ra mẫu:
Đang cập nhật hệ thống của bạn
Nâng cấp hệ thống của bạn
Cài đặt các phụ thuộc
Để cài đặt Cassandra trên Ubuntu, trước tiên phải cài đặt một số phụ thuộc.
Mã:
sudo apt install apt-transport-https wget gnupg
Đầu ra mẫu:
Cài đặt các phụ thuộc
Cài đặt Java
Java là bắt buộc để chạy Apache Cassandra. Chạy lệnh sau để cài đặt OpenJDK:
Mã:
sudo apt install openjdk-8-jdk
Đầu ra mẫu:
Cài đặt Java
Để xác minh xem Java đã được cài đặt chưa, hãy chạy lệnh sau:
Mã:
java -version
Phiên bản Java
Cài đặt Apache Cassandra
Bây giờ tất cả các điều kiện tiên quyết đã được cài đặt, đã đến lúc cài đặt Apache Cassandra. Để bắt đầu, chúng ta sẽ nhập khóa GPG bằng lệnh wget như sau:
Mã:
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
Lệnh sudo apt-key add sẽ thêm khóa cần thiết để cài đặt Cassandra.
Đầu ra mẫu:
Nhập khóa GPG
Sau đó thêm kho lưu trữ Apache Cassandra vào tệp sources.list của bạn:
Mã:
sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
Tiếp theo, hãy cập nhật chỉ mục gói của hệ thống:
Mã:
sudo apt-get update
Mã:
sudo apt install cassandra
Đầu ra mẫu:
Cài đặt Cassandra
Bạn có thể kiểm tra trạng thái của Apache Cassandra bằng cách nhập:
Mã:
sudo systemctl status cassandra
Kiểm tra trạng thái của Apache Cassandra
Nếu bạn cần khởi động lại Apache Cassandra, hãy nhập:
Mã:
sudo systemctl restart cassandra
Mã:
sudo nodetool status
Nodetool Status
Sau khi cài đặt Apache Cassandra hoàn tất, bạn có thể đăng nhập vào Apache Cassandra bằng lệnh sau:
Mã:
cqlsh
Màn hình đăng nhập
Bây giờ để thoát khỏi công cụ cqlsh, hãy nhập exit và nhấn Enter.
Cấu hình Apache Cassandra
Bây giờ Apache Cassandra đã được cài đặt, đã đến lúc cấu hình nó.Thư mục /var/lib/cassandra/data/ là vị trí mặc định của Cassandra data.
etc/cassandra là vị trí mặc định cho các tệp cấu hình của Cassandra.
Điều quan trọng là phải sao lưu tệp này trước khi thực hiện bất kỳ thay đổi nào để tránh mất dữ liệu.
Tên cụm mặc định của Cassandra là "test cluster". Nếu bạn muốn sử dụng tên khác, bạn có thể đăng nhập vào Cassandra và đổi tên:
Mã:
cqlsh
Mã:
UPDATE system.local SET cluster_name = 'Howtoforge Cluster' WHERE KEY = 'local';
Sau khi cụm được đổi tên, bạn phải khởi động lại Cassandra để nó thực hiện hiệu ứng:
sudo systemctl restart cassandra
Bây giờ, khi bạn đăng nhập vào giao diện của Apache Cassandra, nó sẽ hiển thị tên cụm mới.
Đầu ra mẫu:
Tên cụm mới
Bạn không thể sử dụng khoảng trắng hoặc ký hiệu đặc biệt như dấu gạch dưới (_) với tên cụm (tên phân biệt chữ hoa chữ thường), bạn sẽ cần sử dụng tên khác cho cụm của mình.
Gỡ cài đặt Apache Cassandra
Bạn có thể xóa Apache Cassandra khỏi máy của mình bằng các bước sau:Dừng dịch vụ Apache Cassandra nếu nó đang chạy:
Mã:
sudo service cassandra stop
Mã:
sudo rm -r /var/lib/cassandra
Mã:
sudo rm -r /var/log/Cassandra
Mã:
sudo apt purge cassandra
Mã:
sudo rm -r /usr/lib/cassandra
Mã:
sudo rm -r /etc/apache-cassandra
Mã:
sudo rm -r ~/.cassandra
Khắc phục sự cố
Sau đây là các bước khắc phục sự cố phổ biến đối với lỗi Apache Cassandra có thể giúp giải quyết một số sự cố khi cài đặt hoặc thiết lập.- Nếu bạn nhận được lỗi "Không thể tạo luồng gốc", thì lỗi này thường do lỗi của hệ điều hành cơ bản. Nguyên nhân có thể là do bộ nhớ vật lý không khả dụng hoặc một số sự cố khác trên máy chủ. Kiểm tra nhật ký máy chủ của bạn để tìm thông báo lỗi liên quan đến phân bổ bộ nhớ ảo và thử điều chỉnh các tham số hạt nhân cho phù hợp (ví dụ: vmalloc=256m).
- Nếu bạn nhận được lỗi "lỗi khi tải thư viện dùng chung: libcurl.so", thì đây là sự cố liên quan đến cài đặt OpenSSL trên hệ thống của bạn (ví dụ: Ubuntu 16.04 trở lên).
- Không tìm thấy "cassandra-" trong thư mục /etc/init.d khi cố gắng khởi động thủ công. Bước đầu tiên là đảm bảo rằng bạn đã cài đặt và thiết lập đúng tập lệnh khởi tạo Apache Cassandra trên Ubuntu. Nếu cách này không hiệu quả, hãy thử chạy các lệnh sau bằng sudo: "update-rc.d cassandra defaults && service cassandra restart". Điều này sẽ giúp giải quyết vấn đề.
-"Lỗi khi cố gắng khởi động Apache Cassandra": hãy đảm bảo rằng các thay đổi bạn đã thực hiện được lưu trong các tệp cấu hình dịch vụ trước khi thoát.
Kết luận
Trong hướng dẫn này, chúng tôi đã hướng dẫn những điều cơ bản về cài đặt Apache Cassandra trên Ubuntu 20.04 cũng như một số bước bổ sung mà bạn có thể muốn thực hiện sau khi cài đặt. Hướng dẫn này có thể hữu ích cho những người mới bắt đầu sử dụng Cassandra hoặc những người muốn cập nhật thiết lập hiện tại của mình.Chúng tôi hy vọng rằng bài viết này hữu ích và chúng tôi sẽ gặp lại bạn trong bài hướng dẫn tiếp theo.
Bạn thích bài viết này? Hãy chia sẻ với bạn bè và theo dõi chúng tôi trên mạng xã hội.