Bài viết này sẽ hướng dẫn các bạn cài đặt và cấu hình Cassandra trên môi trường Centos OS.
Để chạy được Cassandra các bạn phải cài đặt Java.
Cài đặt Oracle Java VM
Tải Java jdk1.8.0_141:
# wget --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/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
Giải nén file vừa tải về:
# tar xzf jdk-8u141-linux-x64.tar.gz
Tạo thư mục chứa Java:
# sudo mkdir /usr/local/java
Di chuyển thư mục vừa giải nén vào thư mục vừa tạo:
# sudo mv jdk1.8.0_141/ /usr/local/java
Sau đó các bạn mở file /etc/profile và copy toàn bộ nội bên dưới vào cuối file.
#vi /etc/profile JAVA_HOME=/usr/local/java/jdk1.8.0_141 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin JRE_HOME=/usr/local/java/jdk1.8.0_141 PATH=$PATH:$HOME/bin:$JRE_HOME/bin export JAVA_HOME export JRE_HOME export PATH
Thực thi những lệnh dưới đây để khi dùng lệnh java thì sẽ được thực hiện bởi Java VM
# update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_141/bin/java" 1 # update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_141/bin/javac" 1 # update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_141/bin/javaws" 1 # update-alternatives --set java /usr/local/java/jdk1.8.0_141/bin/java # update-alternatives --set javac /usr/local/java/jdk1.8.0_141/bin/javac # update-alternatives --set javaws /usr/local/java/jdk1.8.0_141/bin/javaws
Khởi động lại VPS
# reboot
Nếu đã từng cài Java trước đó bạn thực hiện lệnh sau để chọn phiên bản Java mới nhất:
# alternatives --config java
Ví dụ bên dưới có 4 phiên bản Java thì chọn số 4 để sử dụng phiên bản mới nhất.
There are 3 programs which provide 'java'. Selection Command * 1 /opt/jdk1.7.0_71/bin/java + 2 /opt/jdk1.8.0_45/bin/java 3 /opt/jdk1.8.0_91/bin/java 4 /opt/jdk1.8.0_141/bin/java Enter to keep the current selection[+], or type selection number: 4
Cài đặt Cassandra
Tải Cassandra 2.2.10
# wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/cassandra/2.2.10/apache-cassandra-2.2.10-bin.tar.gz
Giải nén tập tin vừa tải về:
# tar -zxf apache-cassandra-2.2.10-bin.tar.gz
Di chuyển và đổi tên thư mục vừa giải nén vào thư mục /opt
# mv apache-cassandra-2.2.10 opt/cassandra
Tạo các thư mục cần thiết:
Thư mục chứa thư viện:
# mkdir /var/lib/cassandra
Thư mục chưa log file:
# mkdir /var/log/cassandra
Tạo thư mục chứa dữ liệu:
# mkdir /home/cassandra/data
Cấp quyền cho các thư mục vừa tạo:
# chown -R $USER:$GROUP /var/lib/cassandra # chown -R $USER:$GROUP /var/log/cassandra
Thiết lập biến môi trường cho Cassandra:
# export CASSANDRA_HOME=opt/cassandra # export PATH=$PATH:$CASSANDRA_HOME/bin
Cấu hình Cassandra
Cấu hình cho cassandra nằm ở file cassandra.yaml.
# nano /opt/cassandra/conf/cassandra.yaml
Cấu hình thư mục chứa dữ liệu:
Các bạn tìm đến dòng như dưới đây:
# If not set, the default directory is $CASSANDRA_HOME/data/data. # data_file_directories: # - /var/lib/cassandra/data
Sau đó đổi thành thư mục /home/cassandra/data như đã tạo ở trên:
# If not set, the default directory is $CASSANDRA_HOME/data/data. data_file_directories: - /home/cassandra/data
Cấu hình thư mục chưa file LOG:
Các bạn tìm đến dòng như dưới đây:
# If not set, the default directory is $CASSANDRA_HOME/data/commitlog. # commitlog_directory: /var/lib/cassandra/commitlog
Sau đó bỏ dấu # ở dòng commitlog_directory: /var/lib/cassandra/commitlog
Cấu hình các node có thể kết nối với nhau:
Mỗi node phải được cấu hình một cách chuẩn xác trước khi khởi động cluster.
Bạn phải cấu hình những thông số sau trong cassandra.yaml
- cluster_name:
- num_token: <giá trị nên sử dụng: 256>
- -seeds: <địa chỉ IP internal của mỗi seed node>
- listen_address: <địa chỉ IP localhost>
- endpoint_snitch: <tên của snitch>
- auto_bootstrap: false (sử dụng true chỉ khi khởi tạo một cluster mới không có chút dữ liệu nào)
Ví dụ cấu hình cho 2 node có IP lần lượt là 10.128.0.1 và 10.128.0.2 trong đó seed node là 10.128.0.1
Ở node 10.128.0.1
- cluster_name: ‘TEST’
- num_tokens: 256
- -seeds: 10.128.0.1
- listen_address: 10.128.0.1
- endpoint_snitch: GossipingPropertyFileSnitch
- auto_bootstrap: false
Ở node 10.128.0.2
- cluster_name: ‘TEST’
- num_tokens: 256
- -seeds: 10.128.0.1
- listen_address: 10.128.0.2
- endpoint_snitch: GossipingPropertyFileSnitch
- auto_bootstrap: false
Sau khi cấu hình xong ta khởi động Cassandra lần lượt từ seed node
# /opt/cassandra/bin/cassandra
Kiểm tra trạng thái:
# /opt/cassandra/bin/nodetool status
Nếu màn hình hiển thị như bên dưới là bạn đã cấu hình thành công 2 node kết nối được với nhau.
Datacenter: dc1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.128.0.2 101.93 KB 256 100.0% edc8bf06-131a-4216-a73c-8894e8117587 rack1 UN 10.128.0.3 103.39 KB 256 100.0% 120dc684-aaca-4e50-8938-5a403bc3ed36 rack1
Như vậy mình đã hướng dẫn các bạn cài đặt và cấu hình Cassandra multi – node. Cảm ơn các bạn đã theo dõi.
[quangcao]