1,前提
java环境准备
2,tar包下载
地址:http://mirror.bit.edu.cn/apache/cassandra/3.11.4/
选择对应版本。
3,安装
直接解压即可。
tar -xzvf cassandra.tar.gz
我的安装目录为/opt/apach-cassandra-3.11.4
4,创建cassandra数据存放文件夹
可以根据磁盘情况设置这3个文件夹,但是要和/opt/apach-cassandra-3.11.4/conf/cassandra.yaml里的相对应:
mkdir /var/lib/cassandra/data
mkdir /var/lib/cassandra/commitlog
mkdir /var/lib/cassandra/saved_caches
5,编辑conf的目录下的cassandra.yaml配置文件
//集群名称。同一个集群要使用同一名称
cluster_name: 'My Cluster'
//数据文件存放路径。打开这个注释,注意不要合并成一行,
//合并成一行好像会出问题,这里要与前面新建的文件夹对应。
data_file_directories:
- /var/lib/cassandra/data
//操作日志文件存放路径。打开注释,与前面新建的文件夹对应。
commitlog_directory: /var/lib/cassandra/commitlog
//缓存文件存放路径。打开注释,与前面新建的文件夹对应。
saved_caches_directory: /var/lib/cassandra/saved_caches
//集群种子节点ip,新加入集群的节点从种子节点中同步数据。
//可配置多个,中间用逗号隔开。
- seeds: "192.168.x.x"
//需要监听的IP或主机名。改成本机IP
listen_address: 127.0.0.1
//用于监听客户端连接的地址。建议设置成IP或0.0.0.0。
//若设置0.0.0.0,则要放开broadcast_rpc_address: 1.2.3.4的注释。
rpc_address: 127.0.0.1
broadcast_rpc_address: 1.2.3.4
6,添加到systemctl
vi /usr/lib/systemd/system/cassandra.service
输入以下内容并保存:
[Unit]
Description=Cassandra Server Service
After=network.service
[Service]
Type=simple
Environment=JAVA_HOME=/home/soft/jdk1.8.0_144
PIDFile=/var/run/cassandra.pid
#新建一个用户和用户组,Cassandra无法使用root账号启动
User=cassandra
Group=cassandra
#此处为Cassandra包解压后的路径
ExecStart=/opt/cassandra-3.11.4/bin/cassandra -f -p /var/run/cassandra.pid
StandardOutput=journal
StandardError=journal
LimitNOFILE=100000
LimitMEMLOCK=infinity
LimitNPROC=32768
LimitAS=infinity
[Install]
WantedBy=multi-user.target
#更新
systemctl systemctl daemon-reload
# 设置为开机启动
systemctl enable cassandra
7,为Cassandra设置启动用户,并赋权
#添加用户(用户名称和cassand.service中的名称保持一致)
useradd cassandra
#设置密码
passwd cassandra
#将Cassandra的安装目录(解压目录)赋权给新用户
chown -R cassandra: /opt/cassandra-3.11.4/
8,启动服务端
#切换用户
su cassandra
#启动相关操作(由于前面cassandra用户设置的权限设置较粗,启动时或许会需要输入root密码,按要求输入即可)
systemctl start cassandra
systemctl status cassandra
systemctl stop cassandra
#启动日志查看(若无权限,可切换至root用户赋权或直接使用root账号查看日志)
journalctl -u cassandra
9,进入Cassandra及基本使用
#进入Cassandra的安装目录
cd /opt/apach-cassandra-3.11.4
#进入Cassandra
./bin/cqlsh localhost
#显示所有的空间
describe keyspaces;
#选择空间
use mycas;
#创建表
CREATE KEYSPACE IF NOT EXISTS myCas WITH REPLICATION = {'class': 'SimpleStrategy','replication_factor':1};
#显示所有的表
describe tables;
#创建表
CREATE TABLE user (
id int,
user_name varchar,
PRIMARY KEY (id) );
#插入数据
INSERT INTO users (id,user_name) VALUES (1,'zhangsan');
#创建索引
create index on users(user_name);
#查询所有数据
select * from users;
#索引列的条件查询
select * from users where 【索引列】=1;
#未建索引列的条件查询
select * from users where user_name='zhangsan' ALLOW FILTERING;
PS:Cassandra默认客户端连接端口号为9042,使用Cassandra客户端连接工具(eg:DevCenter)前须把防火墙关闭或开发9042端口