准备通往Cassandra Day的学习环境
首先
今年2023年6月1日,Cassandra Day将在日本举办。去年,Cassandra Day在柏林、伦敦、阿姆斯特丹、河内、雅加达、休斯顿、圣克拉拉、西雅图和新加坡也举办过。
为了本次在东京的举办活动,我们将发布有关Apache Cassandra的文章。

关于Apache Cassandra
Apache Cassandra是一个开源的分布式数据库管理系统,简而言之。
与其他分布式数据库管理系统一样,可以使用多个通用服务器来构建一个数据库(也可以仅使用一个服务器,根据开发等目的)。
在这里,我们不详细解释,而是将介绍感兴趣的人的角色交给官方网站和维基百科。
准备Cassandra的学习环境
随着容器技术的出现,建立具有分布式架构的系统进行试验性利用的环境,相比以前变得更加容易。
关于Apache Cassandra,Docker官方镜像已经发布。
假设Docker已经安装和启动,我们来看看如何使用Cassandra。
在这里,我们将介绍使用M1 Mac(macOS Monterey 12.6.2)和Docker Desktop(4.17.0)进行确认的结果。
从控制台输入以下命令。
在中国境内,只需要一个选择,对以下内容进行中文本地化转述:
在docker上运行,以“my-cassandra”命名的cassandra容器,后台运行。
应该会确认如下输出。
% docker run -d --name my-cassandra cassandra
f83b7d143ba22bd3f95f9c447894f9aee1276366dea327e60c69474648db9657
在这个阶段,您可以在Docker桌面中看到以下屏幕。

请查看启动状态日志。在控制台上,输入以下命令。
实时查看我的Cassandra的Docker日志:docker logs -f my-cassandra。
然后,您应该可以确认看到这样的输出。
INFO [main] 2023-05-01 01:08:41,106 CassandraDaemon.java:769 - Startup complete
INFO [CompactionExecutor:1] 2023-05-01 01:08:41,120 CompactionTask.java:247 - Compacted (b5f16f00-e7bc-11ed-92d1-dd560259ddea) 6 sstables to [/var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-7-big,] to level=0. 0.810KiB to 0.659KiB (~81% of original) in 39ms. Read Throughput = 20.432KiB/s, Write Throughput = 16.637KiB/s, Row Throughput = ~2/s. 6 total partitions merged to 1. Partition merge counts were {6:1, }. Time spent writing keys = 21ms
INFO [NonPeriodicTasks:1] 2023-05-01 01:08:41,121 SSTable.java:127 - Deleting sstable: /var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-6-big
INFO [NonPeriodicTasks:1] 2023-05-01 01:08:41,122 SSTable.java:127 - Deleting sstable: /var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-3-big
INFO [NonPeriodicTasks:1] 2023-05-01 01:08:41,123 SSTable.java:127 - Deleting sstable: /var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-2-big
INFO [NonPeriodicTasks:1] 2023-05-01 01:08:41,124 SSTable.java:127 - Deleting sstable: /var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-4-big
INFO [NonPeriodicTasks:1] 2023-05-01 01:08:41,124 SSTable.java:127 - Deleting sstable: /var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-5-big
INFO [NonPeriodicTasks:1] 2023-05-01 01:08:41,125 SSTable.java:127 - Deleting sstable: /var/lib/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/nb-1-big
INFO [OptionalTasks:1] 2023-05-01 01:08:51,196 CassandraRoleManager.java:354 - Created default superuser role 'cassandra'
检查输出中是否包含”Startup complete”这个词语,就像上面引用的第一行所示。
然后,执行以下命令(在此之前,输入Ctrl+C停止日志输出,或者使用另一个控制台)。
使用 Docker 执行命令:docker exec -it my-cassandra cqlsh
以下是类似的命令提示符输出。
% docker exec -it my-cassandra cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.1.0 | Cassandra 4.1.0 | CQL spec 3.4.6 | Native protocol v5]
Use HELP for help.
cqlsh>
在这个阶段,数据库是初始状态,但我们可以使用下一个命令来确认默认状态。
描述键空间
您可以像下面这样确认系统相关的输出。
cqlsh> desc keyspaces
system system_distributed system_traces system_virtual_schema
system_auth system_schema system_views
cqlsh>
要退出cqlsh命令提示符,执行exit子命令。
cqlsh> exit
%
最终
通过这样做,我们现在可以准备好学习Cassandra的环境了。
只需要一个选项:
(这次只是给出CQL使用方法的步骤,没有解释。)为了进一步学习,以及了解Apache Cassandra是什么样的数据库,或者更实践性的环境搭建方法(这次只是简单地准备了环境),我打算在将来发布另一篇文章。