Trong bài này, xTraffic.pep.vn sẽ cùng các bạn tìm hiểu Apache Cassandra là gì và cách cài đặt Apache Cassandra trên hệ điều hành Linux CentOS.
Apache Cassandra là gì?
Apache Cassandra là hệ quản trị cơ sở dữ liệu theo kiểu NoSQL mở và miễn phí. Cassandra được thiết kế để dành cho các ứng dụng có lượng dữ liệu cực lớn (mạng xã hội) được sự hậu thuẫn của Facebook.
Cassandra có khả năng mở rộng và chịu lỗi cao, giúp cho các hệ thống lớn luôn ổn định và xử lý nhanh.
Bạn có thể tìm hiểu thêm tại trang web chính thức của Cassandra tại đây
Hướng dẫn cách cài đặt Apache Cassandra trên CentOS
Trước khi cài đặt Cassandra, bạn cần phải chuẩn bị những điều kiện sau :
- VPS hoặc Server riêng có 1 GB RAM trở lên
- Quyền quản trị & cài đặt VPS/Server
Cài đặt Java Native Access (JNA) cho CentOS bằng lệnh sau :
sudo yum install -y jna
Cài đặt Java SE Runtime Environment (JRE) cho CentOS bằng lệnh sau :
sudo wget -O ./jre-x64.rpm --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jre-7u75-linux-x64.rpm" sudo rpm -Uvh ./jre-x64.rpm
Kiểm tra phiên bản Java bằng lệnh sau :
java -version
Ví dụ :
[root@vultr ~]# java -version java version "1.7.0_75" OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-x86_64 u75-b13) OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
Như bạn thấy là phiên bản Java hiện tại là OpenJDK Runtime Environment 1.7.0_75. Do Cassandra yêu cầu chạy trên Java SE Runtime Environment (JRE) nên ta phải làm thêm các bước sau để fix :
[root@vultr ~]# alternatives --install /usr/bin/java java /usr/java/jre1.7.0_75/bin/java 20000 [root@vultr ~]# alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 2 /usr/java/jre1.7.0_75/bin/java Enter to keep the current selection[+], or type selection number: 2 [root@vultr ~]# java -version java version "1.7.0_75" Java(TM) SE Runtime Environment (build 1.7.0_75-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode) [root@vultr ~]#
Bạn thay đổi “/usr/java/jre1.7.0_75/bin/java” bằng đường dẫn tương ứng trên VPS của bạn
Thêm file “/etc/yum.repos.d/datastax.repo“có nội dung sau :
[datastax] name = DataStax Repo for Apache Cassandra baseurl = http://rpm.datastax.com/community enabled = 1 gpgcheck = 0
Cài đặt Cassandra phiên bản mới nhất (các phiên bản mới nhất của Cassandra được cập nhật tại đây) :
sudo yum install -y dsc20-2.0.12-1 cassandra20-2.0.12-1
Vậy là chúng ta đã cài đặt thành công Apache Cassandra cho CentOS, sau đây là cấu trúc thư mục của Cassandra :
- /var/lib/cassandra : Thư mục chứa dữ liệu của Cassandra
- /etc/cassandra : Thư mục chứa tập tin cấu hình của Cassandra
- /var/log/cassandra : Thư mục chứa Log
- /var/run/cassandra : Runtime files
- /usr/share/cassandra : Environment settings
- /usr/share/cassandra/lib : JAR files
- /usr/bin : Binary files
- /etc/init.d : Service startup script
Khởi động Cassandra bằng lệnh :
sudo service cassandra start
Kiểm tra trạng thái Cassandra bằng lệnh :
sudo service cassandra status
Kiểm tra các node của Cassandra bằng lệnh :
nodetool status
Ví dụ :
[root@xtraffic ~]# nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 45.98 KB 256 100.0% 3f96a693-2c26-4401-b664-647e34765376 rack1 [root@xtraffic ~]#
Apache Cassandra Client Drivers
Để có thể truy vấn được Cassandra thì bạn cần phải có client driver tương ứng với ngôn ngữ lập trình bạn đang sử dụng. Hiện tại Cassandra đã hỗ trợ client drivers cho các ngôn ngữ lập trình phổ biến nhất hiện nay như : Java, PHP, Node.js, C++, .NET/C#, …. Các bạn có thể xem bản danh sách đầy đủ các thư viện client driver cho Cassandra tại đây.