运行Apache Cassandra与持久性存储与Elastigroup AWS EC2现货

卡桑德拉和Elastigroup

现货实例是一个伟大的方式为组织节省他们的云计算成本利用亚马逊的未使用的计算能力。他们已经成为吸引用户,因为他们相比有大幅折扣按需运行或保留的实例。然而,现货实例上运行的工作负载的缺点是AWS可以终止他们没有给出足够的警告。

这个问题让系统管理员担心数据库运行像Apache Cassandra由于数据一致性问题。在这篇文章中,我将展示如何使用Elastigroup与持久性存储安全部署和管理卡桑德拉的现货实例和证明成本节约。

Apache Cassandra是什么?

Apache Cassandra是一个功能强大的开源NoSQL数据库。卡桑德拉的集群是由多个计算节点,可以更多的计算能力和数据容量呈线性比例关系。卡桑德拉很容错因为数据跨集群节点复制数据访问,并可配置的一致性水平。稍后在这篇文章中,我们将自旋向上两个卡桑德拉的集群节点和展示Elastigroup如何管理和扩大集群。

Elastigroup是什么?

Elastigroup是一个应用程序扩展服务Spotinst旨在优化性能和成本。使用预测算法,Elastigroup可靠地利用现货实例和支持所有主要的云提供商比如AWS,微软Azure和谷歌云同时消除风险和复杂性,提供一个简单的编排和管理规模。雷竞技地址ray

Spotinst Elastigroup EC2现货市场行为,预测能力的趋势,定价和中断率。每当有一个中断的风险,Elastigroup行为相应提前15分钟,确保100%的可用性。随着这篇博客,你需要访问Spotinst控制台。如果您没有访问,请注册一个14天免费的恐怖主义风险保险法案l

先决条件

我们可以继续之前,我们需要覆盖的先决条件,这样您就可以跟随技术指导。

  1. 一个Spotinst控制台账户
  2. 一个AWS账户
  3. 在AWS VPC 10.0.0.0/16子网(不工作使用不同的子网)
  4. 一个安全组使用SSH访问
  5. Elastigroup卡桑德拉的配置文件下载到你的电脑(GitHub要点的内容保存到cassandra-elastigroup.json)
  6. 一个EC2关键派r SSH到实例

先决条件的,让我们到Spostinst控制台登录并创建一个Elastigroup卡桑德拉

部署与Elastigroup卡桑德拉集群

一旦登录Spotinst控制台,点击Elastigroups单击CREATE按钮紧随其后。

卡桑德拉与持久性存储

从这里我们可以选择一个特定的用例新Elastigroup。下大数据和数据库部分中,选择卡珊德拉

卡桑德拉与持久性存储

现在我们可以导入卡桑德拉配置Elastigroup点击进口按钮,选择JSON文件。点击选择文件并选择JSON文件上传步骤5的先决条件。当上传完成后,您将被重定向回前面的屏幕配置进口。让我们看看以下值:

  • 输入一个名称的组。
  • 选择合适的地区AWS帐户。
  • 能力下,目标字段定义了实例的数量,创建Elastigroup将启动一次。的最小值和最大值Elastigroup设置扩展边界。通过在每个字段设置值为2,一个静态卡桑德拉和2个节点集群将被创建。
  • 请单击next继续。

改变VPC,可用性区域匹配的步骤3中创建的先决条件。关注的一个重要部分现货市场得分部分。

现货市场得分是一个独特的特性,它可以帮助你选择最好的现货市场。得分部分提供了一个视觉教具展示的数量单独现货市场可用的数量的基础上可用性区域点类型选中。范围从0 - 100 0是一个功能性的市场和100将提供最好的价格为现货实例和长寿。与现货市场解释,让我们进行配置。

向下滚动页面,选择一个密匙对和安全组发布规范。当完成时,单击额外的配置扩大部分。

额外的配置,我们可以看到这一点公共IP检查,这将允许我们使用SSH访问的节点。的用户数据部分包含一个实例的启动脚本,将下载、编译、配置和启动卡桑德拉以及处理EBS坐骑。向下滚动并单击有状态部分。

这部分是很重要的,因为它处理磁盘和网络持久性的实例。在卡桑德拉集群中,每个节点通过一个IP地址标识并拥有一定范围的数据在集群中。如果一个新实例添加到集群卡桑德拉没有磁盘和网络持久性、实例添加一个新节点,没有数据。有鉴于此,重要的是要坚持根和数据量Elastigroup可以创建新实例如果更换。与原来的私有IP和卷,该实例将加入集群的确切位置。

维护私有IP,有两个静态IP组根据VPC步骤3中创建的先决条件。在卡桑德拉集群中,种子节点引导节点在集群。在这个Elastigroup配置,前两个节点部署将种子节点。节点添加到集群后将达到他们加入集群。

最后安装,之后单击Next按钮两次创建

当两个实例在运行状态时,我们应该有一个集群2-node卡桑德拉准备好了。然而,这是一个一般的经验法则在科技界,你应该有三个副本的数据或不存在。让我们看看Elastigroup可以帮助。

扩大卡桑德拉

向上或向下扩展实例在Elastigroup非常容易。让我们看看,我们是多么容易就可以将第三个节点添加到集群卡桑德拉。从行动菜单中,选择管理能力。在出现的对话框窗口中,输入一个值为1的“增加集团实例*“框单击紧随其后发射按钮。

当所有三个实例运行状态,我们可以检查集群运行正常。

验证卡珊德拉集群设置

在本节中,我们可以得到我们的手脏在命令行和连接到集群卡桑德拉以确保它是否设置合理。首先,我们需要的公共IP地址的第一所创建的两个节点。选择的第一个两个节点并复制公共IP地址。


现在打开你的最喜欢的终端,使用SSH实用程序来访问节点使用AWS EC2密钥对步骤6的先决条件。

ssh -我~ / . ssh / my-ec2-key。pem ubuntu@public-ip

检查集群卡桑德拉的状态,使用nodetool命令如下所示:

联合国地位意味着/正常。当所有的节点有一个联合国地位,集群是健康的。如果节点不加入集群的几分钟后,请选择节点从Spotinst控制台和选择回收:

将会创建一个新的实例,并将希望加入集群在几分钟内。

现在我们看到了容易Elastigroup如何扩大实例,让我们看看它如何处理失败的实例。

实例破坏

这是博客的有趣的部分,我们将破坏卡桑德拉集群没有一个节点。首先,在AWS EC2控制台日志并终止新添加的实例:

几分钟后,Spotinst控制台将检测到的实例已经失败,然后回收。

也在这个时候,卡桑德拉应该报告节点(DN):

重要的是要理解回收过程是如何工作的。节点资源,如根和数雷竞技rabet官网据量和IP地址是脱离旧实例并转移到新的一个。与那些在新实例的可用资雷竞技rabet官网源,集群节点将加入卡桑德拉没有任何问题。

回收操作完成时,节点应该是集群的一部分:

由于Elastigroup的有状态的能力,节点重新加入集群作为现有的节点没有任何问题或数据丢失。如果AWS决定终止现场实例之后,Elastigroup将创建新实例使用现有资源和停机时间将是很小的。雷竞技rabet官网

既然我们已经运行了卡桑德拉集群几分钟,让我们看看多少钱使用现货实例得救了。

成本和储蓄

的目的使用Spotinst管理你的现货实例是省钱。我们可以看到节约成本从Spotinst控制台通过单击Elastigroup卡桑德拉的集群。

这3-node集群只有5个小时,可以通过使用随需应变的实例花费1.39美元。由于我们使用Spotinst管理工作量和现货情况下,成本只有0.42美元美分导致69.99%储蓄仅为5个小时。现在是时候想想这种精神食粮的未来:想象的集群运行这个卡桑德拉在生产成本与更多节点更长一段时间。

结论

在这篇文章中,我走过去发现实例和解释他们如何是一个伟大的方式为组织节省云计算。与现货实例被终止的缺点小警告,组织需要一种有效的方式来管理他们,这就是Spotinst Elastigroup保存一天。使用Elastigroup,我解释了如何设置一个3-node卡桑德拉集群现场实例以及如何扩大计算能力和从一个节点故障恢复。由于现货市场,我可以选择效果最好的实例给我预算和储蓄立即在Spotinst控制台。