您好,登录后才能下订单哦!
这篇文章给大家介绍如何利用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:
dcos package install cassandra
然后用cassandra子命令查看安装进度:
dcos cassandra plan show deploy
操作Cassandra集群
这里我们用到2个Cassandra子命令:describe和endpoints,这两个命令会返回Cassandra集群的一些详细信息。
dcos cassandra describe命令会以json格式返回cassandra集群的配置信息,节点信息和服务信息,如下:
dcos cassandra endpoints命令将返回Cassandra集群的网络信息。包括每个数据节点的ip地址和dns,以及Cassandra用于负载均衡的VIP信息:
你可以通过任意数据节点的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就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。