Cassandra 2.1.0 安装详解(单点与单个集群),cassandra2.1.0
一、单点安装
单点安装参考文档:http://wiki.apache.org/cassandra/GettingStarted1. 安装需求
cassandra 2.1.0 需要稳定版的Java 7,或者OpenJDK/IBM JVM2. 下载
下载cassandra website.此处下载完整的apache-cassandra-2.1.0-bin.tar.gz包直接在机器上配置安装。 tar zxvf apache-cassandra-2.1.0-bin.tar.gz 解压后目录如下:3.配置相关文件
需要配置: data_file_directories
默认值 /var/lib/cassandra/data
commitlog_directory
默认值 /var/lib/cassandra/commitlog
saved_caches_directory 默认值 /var/lib/cassandra/saved_caches
进入conf目录,vi cassandra.yaml
本例修改如下:
# Directories where Cassandra
should store data on disk. Cassandra
# will spread data evenly across
them, subject to the granularity of
# the configured compaction
strategy.
# If not set, the default directory
is $CASSANDRA_HOME/data/data.
data_file_directories:
- /cassandra/data
# commit log. when running
on magnetic HDD, this should be a
# separate spindle than the
data directories.
# If not set, the default directory
is $CASSANDRA_HOME/data/commitlog.
commitlog_directory: /cassandra/commitlog
# saved caches
# If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.
saved_caches_directory: /cassandra/saved_caches
注意配置项前面不要有空格,否则启动会报错
配置日志文件:
编辑conf/logback.xml,修改其中一行如下:
<file>/cassandra/log/system.log</file>
以上配置的文件夹路径需要自己手工创建,要在启动cassandra前创建完成。
如果要配置JVM ,如堆大小,在
conf/cassandra-env.sh配置
4.启动Cassandra
进入bin目录
执行 ./cassandra
-f 启动,如果不使用-f,默认会后台启动。
5.试用cqlsh
cqlsh是cassandra的命令行操作界面,进入bin目录,执行
./cqlsh
如果成功,会出现如下提示
Connected to Test Cluster at localhost:9160. [cqlsh 2.3.0 | Cassandra 1.2.2 | CQL spec 3.0.0 | Thrift protocol 19.35.0] Use HELP for help
首先,创建keyspace
CREATE KEYSPACE mykeyspace
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };使用keyspace
USE mykeyspace;
创建用户表
CREATE TABLE users ( user_id int PRIMARY KEY, fname text, lname text );
插入数据
INSERT INTO users (user_id, fname, lname) VALUES (1745, 'john', 'smith'); INSERT INTO users (user_id, fname, lname) VALUES (1744, 'john', 'doe'); INSERT INTO users (user_id, fname, lname) VALUES (1746, 'john', 'smith');
查看所有数据
SELECT * FROM users;
结果
user_id | fname | lname
---------+-------+-------
1745 | john | smith
1744 | john | doe
1746 | john | smith添加where条件,需要在where列上先创建index
CREATE INDEX ON users (lname);
SELECT * FROM users WHERE lname = 'smith';
user_id | fname | lname
---------+-------+-------
1745 | john | smith
1746 | john | smith二.集群安装(单集群)
1.参考文档:
http://www.datastax.com/documentation/cassandra/2.1/cassandra/initialize/initializeSingleDS.html
2.配置文件
本文使用三台机器,进行单集群安装,多集群不讨论。节点IP分别为192.168.1.8,192.168.1.9,192.168.1.10,把9和10作为seed node。集群安装和单点安装类似,只需先在一台机器上把配置文件写好,然后把安装文件复制到其它节点即可。本文单点安装时已经安装了cassandra,直接在该机器上修改后复制到其它两个结点修改过程: 1.如果已经启动cassandra,停止服务。前端运行直接ctrl+c,后端运行使用kill命令杀死进程$ ps auwx | grep cassandra
$ sudo kill pid
2.清空原有的数据,只要启动会生成数据文件,要全部删除 rm -rf /cassandra/data/system/* 3.修改cassandra.yaml文件。 num_tokens:256 - seeds: "192.168.1.10,192.168.1.9" listen_address: 192.168.1.10 (此处集群不能用localhost,可以设置为空,可能会出错,最好配置与hostname绑定的ip地址) rpc_address: (参考文档设置为0.0.0.0,本文设置为空,如果设置为0.0.0.0,还需要broadcast_rpc_address配置一个值) endpoint_snitch: SimpleSnitch (不用修改,默认即可) 4.修改cassandra-rackdc.properties文件,可以设置DC(集群) 和RACK(机架)的名字,本此不作修改,采用默认。修改完毕后,把本机的安装文件复制到其它两台机器,在192.168.1.8和192.168.1.9上首先要和单点安装时创建相同的文件夹(data,commitlog,saved_caches,log)然后分别执行mkdir /cassandra/apache-cassandra-2.1.0scp root@192.168.1.10:/cassandra/apache-cassandra-2.1.0/* /cassandra/apache-cassandra-2.1.0/最后需要修改cassandra.yaml文件中listen_address地址为当前机器 的IP。3.启动集群
一切OK后,就可以启动集群了:先在seed node上启动
bin/cassandra -f
然后分别在其它结点上启动因为是前端启动,在192.168.1.10上可以看到过程,提示其它两个结点加入了集群。启动完成后,可以使用nodetool工具查看集群各节点状态: bin/nodetool status注意:配置过程如果配置listen_address和rpc_address不正确,就会出现“Unable to gossip with any seeds”错误,配置IP过程一定要仔细,出错时先查看IP配置是否错误。4.启动cql
不能像单机时直接使用./cqlsh 启动。后面需要加上IP地址,如:./cqlsh 192.168.1.10
OVER!!!
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。