准备通往Cassandra Day的学习环境

首先

今年2023年6月1日,Cassandra Day将在日本举办。去年,Cassandra Day在柏林、伦敦、阿姆斯特丹、河内、雅加达、休斯顿、圣克拉拉、西雅图和新加坡也举办过。

为了本次在东京的举办活动,我们将发布有关Apache Cassandra的文章。

image.png

关于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桌面中看到以下屏幕。

image.png

请查看启动状态日志。在控制台上,输入以下命令。

实时查看我的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是什么样的数据库,或者更实践性的环境搭建方法(这次只是简单地准备了环境),我打算在将来发布另一篇文章。

广告
将在 10 秒后关闭
bannerAds