当前位置:   article > 正文

Cassandra数据库安装及使用

cassandra数据库安装

一 、Cassandra数据库的安装

1. 环境依赖检查(Linux)

1.1 Python环境(Python2.7)
(1) 下载所必要的依赖包:https://www.python.org/ftp/python/2.7.12/

# 进入服务器软件包存放路径中
 cd /usr/local
# 通过yum下载依赖
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y
# 下载python的软件包
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
# 将压缩包解压在当前路径下
tar -xvf Python-2.7.12.tgz
# 进入python中修改配置
cd Python-2.7.12
./configure --prefix=/usr/local/Python2.7.12
# 安装
make
make install
python -V
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

(2)添加一个软链接:ln -s /usr/local/python-2.7.12/bin/python /usr/bin/python

1.2 JDK环境
(1)获取jdk软件包(例如jdk-8u221-linux-x64.tar.gz),并上传至Linux服务器/usr/bin路径下;
(2)root用户登陆服务器,进行解压;

# 进入jdk软件包所在路径
cd /usr/bin
# 进行解压
tar -xvf jdk-8u221-linux-x64.tar.gz
# 修改权限
chmod -R 755 jdk1.8.0_221
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(3)配置环境变量

# vi /etc/profile
// 添加环境信息
JAVA_HOME=/usr/bin/jdk1.8.0_221
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASS_PATH 
//使修改后的环境变量生效
# source /etc/profile
// 查看是否安装成功
# java -version
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
2. 数据库安装

2.1 获取Cassandra软件包:http://archive.apache.org/dist/cassandra/
2.2 将软件包上传服务器并解压tar -xvf apache-cassandra-3.3-bin.tar.gz
2.3 修改配置文件vi apache-cassandra-3.3/conf/cassandra.yaml

cluster_name:'****'  //节点名称,集群部署时,多台机器上的节点名称需保持一致;
authenticator:PasswordAuthenticator 
authorizer:AllowAllAuthorizer
role_manager:CassandraAuthorizer
hints_directory:/var/data/cassandra/hints
data_file_directories: - /var/lib/cassandra/data   //cassandra数据库数据文件存储的位置,可自定义
commitlog_directory:/var/lib/cassandra/commitlog   //commitlog文件存储的位置(崩溃恢复机制)
cdc_raw_directory:/var/data/cassandra/cdc_raw
saved_caches_directory:/var/data/cassandra/saved_caches
speed_provider:
               -seeds:'*********'     //单机部署时修改为本机IP,集群部署时修改为固定某一台的IP
listen_address:'*******'        //修改为本机IP
native_transport_port:'****'   // 数据库监听的端口号
endpoint_snitch: GossipingPropertyFileSnitch     //多节点:配置多个rack多个dc,若设置后需同时修改cassandra-rackdc.properties中的dc=datacenter1 rack=rack1
start_rpc:true
rpc_address:'**********'    //修改为本机IP
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2.4 数据库启动

# cd apache-cassandra-3.3
# ./bin/cassandra 
# ./bin/nodetool status    //查看状态
  • 1
  • 2
  • 3

二 、Cassandra数据库的使用

1. 数据库用户创建
# ./bin/cqlsh -u cassandra -p cassandra ip port    //数据库连接
cqlsh> CREATE USER username1 WITH PASSWORD 'password1' SUPERUSER;    //创建超级用户
cqlsh> CREATE USER username2 WITH PASSWORD 'password2' NOSUPERUSER;   //创建普通用户
  • 1
  • 2
  • 3
2. 键空间(表空间)创建与使用

2.1 CREATE KEYSPACE的两个属性:replication和durable_writes
Replication:副本位置策略(简单的策略、网络拓扑策略、旧网络拓扑策略);
replication_factor:复制因子(小于等于集群的数量);
Durable_writes:默认情况下,表的durable_writes属性设置为true;

cqlsh> CREATE KEYSPACE "KeySpaceName" WITH replication={'class':'NetworkTopologyStrategy','replication_factor':3} AND durable_writes=false;        
  • 1

2.2 查看是否已创建键空间

cqlsh> DESCRIBE keyspaces;          //验证是否创建键空间
cqlsh> SELECT * FROM system.schema_keyspaces;        //查询系统键空间
cqlsh> USE tutorialspoint;      //使用键空间
  • 1
  • 2
  • 3

2.3 键空间修改与删除

cqlsh> ALTER KEYSPACE "KeySpaceName" WITH replication = {'class':'SimpleStrategy','replication_factor':3};     //修改键空间
cqlsh> DROP KEYSPACE tutorialspoint;         //删除键空间
  • 1
  • 2
3. 表创建与使用
cqlsh> CREATE TABLE tablename(
   columnname1 datatype PRIMARYKEY,       //主键
   columnname2 datatype,
   columnname3 datatype
   );                                     //创建表
cqlsh> ALTER TABLE tablename ADD  newcolumn datatype;    //修改表:添加列
cqlsh> ALTER TABLE tablename DROP columnname;            //修改表:删除列
cqlsh> DROP TABLE tablename;                             //删除表
cqlsh> describe tables;      //查看已有表
cqlsh> use tables;           //使用表
cqlsh> describe table table_name;         //查看表结构
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
4. 索引创建与删除
cqlsh> CREATE INDEX indexname ON tablename (columnname);     //创建索引
cqlsh> DROP INDEX identifier;                                //删除索引
  • 1
  • 2
5. 数据操作
cqlsh> INSERT INTO tablename (columnname1, columnname2) VALUES (value1, value2);   //创建数据
cqlsh> UPDATE tablename SET columnname1=value0,columnname2=value1;        //数据更新
cqlsh> SELECT * FROM tablename;         //数据查询
cqlsh> DELETE tem01 FROM tep WHERE user_id=1;  //删除数据:tem01列,tep表
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号