如何利用DC/OS平台部署Cassandra

这篇文章给大家介绍如何利用DC/OS平台部署Cassandra,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了富蕴免费建站欢迎大家使用!

Cassandra是一个开源的分布式数据库,具有高度可用性,去中心化,高容错性和易于缩放等特点,在当今的大数据领域(比如SMACK)是非常流行的工具。在DC/OS中就支持Cassandra数据库,并且包含了非常多的功能,此外,DC/OS还提供了认证的SMACK技术栈中其他软件包,这无疑大大简化了大数据框架的安装管理。

假设你已经有了一个DC/OS集群,我们建议你首选安装那些认证的数据软件包(参考这篇博客了解什么是认证的软件包),这里我们会安装Cassandra软件包。

准备Cassandra安装环境


使用默认的配置参数安装一个最小的Cassandra环境,需要DC/OS集群有3个私有节点,Cassandra会在每个agent节点上部署一个Cassandra数据节点服务,每个agent节点需要至少1.5个CPU和5G的内存资源。

如果初始的默认安装无法满足后续服务要求,可以通过DC/OS CLI命令来扩展你的Cassandra数据节点个数。

安装Cassandra


可以通过DC/OS的界面或者命令行来安装Cassandra,唯一的不同点在于:通过界面安装Cassandra服务后,还需要额外操作来安装Cassandra子命令,而通过命令行安装就不需要。

在DC/OS界面上,找到“Catalog”页面,然后搜索查找“Cassandra”软件包,点选Cassandra图标,然后点击安装页面那个紫色的按钮“Review&Run”开始安装,可以在界面的“Service”页面查看安装进度,然后在DC/OS命令行中通过如下命令安装Cassandra子命令:

dcos package install --cli cassandra

如何利用DC/OS平台部署Cassandra

或者,你也可以直接通过DC/OS命令行安装Cassandra:

dcos package install cassandra 

然后用cassandra子命令查看安装进度:

dcos cassandra plan show deploy

操作Cassandra集群


这里我们用到2个Cassandra子命令:describe和endpoints,这两个命令会返回Cassandra集群的一些详细信息。

dcos cassandra describe命令会以json格式返回cassandra集群的配置信息,节点信息和服务信息,如下:

如何利用DC/OS平台部署Cassandra

dcos cassandra endpoints命令将返回Cassandra集群的网络信息。包括每个数据节点的ip地址和DNS,以及Cassandra用于负载均衡的VIP信息:

如何利用DC/OS平台部署Cassandra

你可以通过任意数据节点的dns信息,通过Cassandra的docker容器连接到Cassandra集群,然后通过cassandra查询语句来查询数据,创建表等操作。

docker run -it cassandra:3.0.7 cqlsh node-0-server.cassandra.autoip.dcos.thisdcos.directory

多个Cassandra集群


本章节会介绍如何在一个DC/OS集群上部署多个Cassandra集群。

如果要部署多个Cassandra集群,那么必须确保这些集群的服务名字是唯一的,比如将多个Cassandra集群的名字命名为:Cassandra, Cass, CassDev, CassTest, CassProd等等。

安装多个Cassandra集群最简单的方法就是使用DC/OS的虚拟网络,它可以有效防止端口冲突,但默认安装并没有启用DC/OS虚拟网络。可以通过勾选Cassandra安装界面中的“VIRTUAL_NETWORK_ENABLED”复选框来使用DC/OS虚拟网络

当然了,你也可以在不使用DC/OS虚拟网络的情况下安装多个Cassandra集群,不过,你可能需要手动检查所有默认的网络设置,以确保没有冲突。

Cassandra集群管理


本章节将会介绍4个用于Cassandra管理的子命令。

扩展集群

为Cassandra集群增加节点是一个非常常用的操作,在DC/OS 1.10中,用如下命令为Cassandra集群进行扩容:

dcos cassandra update start --options=config.json

在config.json配置文件中,将“nodes”—“count”字段设置为扩展后节点个数即可,如下:

{

  "nodes": {

    "count": 5

  }

}

更改配置

更改Cassandra集群配置使用的还是dcos cassandra update start命令,如下:

dcos cassandra update start --options=config.json

你可以更改集群的如下配置信息:log_level, backup_restore_strategy, placement_constraint, concurrent_writes, and concurrent_reads

升级

升级操作同样还是由update start这个子命令来完成的,通过如下命令来制定升级的版本:

dcos cassandra update start —package-version=""

该命令会在所有的Cassandra节点上进行滚动升级操作。通过如下命令查看当前可用版本:

dcos cassandra update package-versions

备份和恢复

Cassandra集群的备份和恢复操作,分别有如下两条命令实现:

dcos cassandra plan start backup

dcos cassandra plan start backup

在启动备份之前,您需要在AWS或Azure中配置制定用于存储备份数据的容器。阅读灾难恢复一文了解更多信息。文章链接:https://docs.mesosphere.com/services/cassandra/2.0.3-3.0.14/disaster-recovery/。

卸载Cassandra集群

卸载Cassandra是个相对简单的操作,对于默认的Cassandra集群使用如下命令进行卸载操作:

dcos package uninstall cassandra --app-id=/cassandra

为了确保Cassandra被完全卸载,所占有的资源都被释放掉,我们还需要清理zookeeper中残留数据以及一些可能还被“预留”的资源,在任意master节点,执行如下操作即可:

sudo docker run mesosphere/janitor /janitor.py -r cassandra-role -p cassandra-principal -z dcos-service-cassandra

关于如何利用DC/OS平台部署Cassandra就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


标题名称:如何利用DC/OS平台部署Cassandra
浏览路径:http://myzitong.com/article/pipgoe.html