Cassandra 数据库安装
官方文档
安装环境
- Ubuntu 22.04.5LTS
- Cassandra 4.0.14
- JDK 11
操作步骤
-
下载安装包
curl -OL https://dlcdn.apache.org/cassandra/4.0.14/apache-cassandra-4.0.14-bin.tar.gz
-
解压操作
- 解压
tar -zxvf ./apache-cassandra-4.0.14-bin.tar.gz
- 解压
-
运行数据库,该步骤可能会出现Java版本不匹配的问题
cd ./apache-cassandra-4.0.14 ./bin/cassandra
-
稍等一会,命令行会出现
xxstart
,此时说明Cassandra
已经安装完成 -
进一步验证,查看集群状态
bin/nodetool status
若显示为
UN
则说明为Up + normal
,该Cassandra
节点正常启动
报错集合
Java版本过高
安装的Java版本过高,降低Java版本为JDK11
Cassandra 操作方式
摘要:该部分内容仅简单记录一些常用的Cassandra
操作方式,采用cqlsh
命令行方式操作
运行 cqlsh
-
安装python解释器:版本 python 2.7
sudo apt install python2-minimal
-
bin/cqlsh
增删改查
创建cql,即数据格式。data.cql
参考官方文档data.cql文件内容
## keyspace name 是 store,相当于mysql中的数据库
CREATE KEYSPACE IF NOT EXISTS store WITH REPLICATION =
{ 'class' : 'SimpleStrategy',
'replication_factor' : '1'
};## table name 是 shopping_cart,相当于mysql中的表
CREATE TABLE IF NOT EXISTS store.shopping_cart (userid text PRIMARY KEY,item_count int,last_update_timestamp timestamp
);INSERT INTO store.shopping_cart(userid, item_count, last_update_timestamp)VALUES ('9876', 2, toTimeStamp(now()));
INSERT INTO store.shopping_cart(userid, item_count, last_update_timestamp)VALUES ('1234', 5, toTimeStamp(now()));
导入 data.cql
+ 查询
source '/path/to/data.cql'
,select * from store.shopping_cart
## 插入数据
INSERT INTO store.shoppong_cart(userid, item_count)VALUES ('4567', 20);
从外部csv文件导入数据
# csv文件内容
Vehicle_ID,Global_Time,Local_X,Local_Y,Grid_X,Grid_Y
515,1118848075000,30.034,188.062,3,12
2127,1118847624800,19.632,1775.614,2,118
# 创建 keyspace
CREATE KEYSPACE vehicle_data WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};# 切换 keyspace
USE vehicle_data;# 创建 table
CREATE TABLE vehicle_positions (vehicle_id INT,global_time TIMESTAMP,local_x FLOAT,local_y FLOAT,grid_x INT,grid_y INT,PRIMARY KEY ((vehicle_id), global_time)
) WITH CLUSTERING ORDER BY (global_time DESC);# 批量导入数据
COPY vehicle_data.vehicle_positions (vehicle_id, global_time, local_x, local_y, grid_x, grid_y)
FROM '/home/yiran/Desktop/processed_us101_0801.csv' WITH HEADER = TRUE;## 路径:确保 CSV 文件的路径正确无误。
## 时间戳格式:Cassandra 中的 TIMESTAMP 列需要以标准的毫秒级时间戳格式提供,如 1118848075000。
## CSV 文件格式:HEADER = TRUE 参数用于指示 CSV 文件包含列名。
其他内容
Cassandra 环境变量设置
设置CASSANDRA_HOME环境变量