1、準備5臺Linux主機
略
2、關閉防火牆
service iptables stop
chkconfig iptables off
3、編輯/etc/hosts
node1
node2
node3
node4
node5
4、下載cassandra
在node1上
前往
http://cassandra.apache.org/download/
下載
或者直接下載
http://mirror.bit.edu.cn/apache/cassandra/2.2.4/apache-cassandra-2.2.4-bin.tar.gz
5、解壓縮
在node1
tar zxvf apache-cassandra-2.2.4-bin.tar.gz -C /
mv /apache-cassandra-2.2.4 /cassandra
6、在所有節點上建立nosql用戶
useradd nosql
passwd nosql
7、在所有主機上安裝jdk1.8以上版本
略
8、編輯配置文件cassandra.yaml
在node1
vim /cassandra/conf/cassandra.yaml
data_file_directories:
- /cassandradata/data
commitlog_directory: /cassandradata/commitlog
saved_caches_direcotry: /cassandradata/saved_caches
num_tokens:256
- seeds: "node2,node3,node4,node5"
9、編輯配置文件logback.xml
vim /cassandra/conf/logback.xml
變更:
<file>/cassandradata/log/system.log</file>
10、分發和創建所需文件夾
在node1上
scp -r /cassandra node2:/
scp -r /cassandra node3:/
scp -r /cassandra node4:/
scp -r /cassandra node5:/
mkdir /cassandradata/data -p
mkdir /cassandradata/commitlog -p
mkdir /cassandradata/saved_caches -p
11、在所有節點更改屬主
在node2、node3、node4、node5
chown nosql.nosql /cassandra -R
chown nosql.nosql /cassandradata -R
12、在各個節點上對應修改cassandra.yaml
以node2爲例
listen_address: node2
各節點命名以此類推
13、按順序啓動
先seeds,後main
在node2
/cassandra/bin/cassandra -f
在node3
/cassandra/bin/cassandra -f
在node4
/cassandra/bin/cassandra -f
在node5
/cassandra/bin/cassandra -f
在node1
/cassandra/bin/cassandra -f
14、在main啓動cli
(需要事先安裝python2.7以上版本)
/cassandra/bin/cqlsh node1
15、測試
create keyspace mykeyspace
with replication={'class':'SimpleStrategy','replication_factor':1};
use mykeyspace;
create tables users(userid int primary key, fn text, ln text, number int);
insert into users(userid, number) values(1 ,2);
insert into users(userid, fn, ln, number) values(1, 'a', 'b', 3);
select avg(number) from users;
注意:
如果出現這樣的錯誤:
No single argument constructor found for class [Ljava.lang.String;……
有可能是cassandra.yaml配置文件的格式有問題
注意!
data_file_directories:
- /cassandradata/data