【数据库】Cassandra的安装及基本操作
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环境变量




浙公网安备 33010602011771号