创建索引后,aerospike集群崩溃了

时间:2015-09-16 19:14:45

标签: amazon-web-services aerospike nosql

我们在AWS有4台机器的集群t2micro(1cpu 1gb ram 15gb ssd)我们正在测试aerospike。 我们使用aws marketplace AMI来安装aerospike v3社区版,并且只配置了aerospike.conf文件在磁盘上有一个命名空间。

我们有一个带有两个集合的命名空间,总共18M文档,2gb ram占用和aprox占用的40gb磁盘空间。 在12M记录中创建索引后,系统崩溃了。

一些信息:

实例上的aql:

[ec2-user@ip-172-XX-XX-XXX ~]$ aql
2015-09-16 18:44:37 WARN AEROSPIKE_ERR_CLIENT Socket write error: 111
Error -1: Failed to seed cluster*

日志的尾巴:(它一直只添加重复的行)

Sep 16 2015 19:08:26 GMT: INFO (drv_ssd): (drv_ssd.c::2406) device /opt/aerospike/data/bar.dat: used 6980578688, contig-free 5382M (5382 wblocks), swb-free 0, n-w 0, w-q 0 w-tot 23 (0.0/s), defrag-q 0 defrag-tot 128 (0.0/s)
Sep 16 2015 19:08:46 GMT: INFO (drv_ssd): (drv_ssd.c::2406) device /opt/aerospike/data/bar.dat: used 6980578688, contig-free 5382M (5382 wblocks), swb-free 0, n-w 0, w-q 0 w-tot 23 (0.0/s), defrag-q 0 defrag-tot 128 (0.0/s)
Sep 16 2015 19:09:06 GMT: INFO (drv_ssd): (drv_ssd.c::2406) device /opt/aerospike/data/bar.dat: used 6980578688, contig-free 5382M (5382 wblocks), swb-free 0, n-w 0, w-q 0 w-tot 23 (0.0/s), defrag-q 0 defrag-tot 128 (0.0/s)
Sep 16 2015 19:09:26 GMT: INFO (drv_ssd): (drv_ssd.c::2406) device /opt/aerospike/data/bar.dat: used 6980578688, contig-free 5382M (5382 wblocks), swb-free 0, n-w 0, w-q 0 w-tot 23 (0.0/s), defrag-q 0 defrag-tot 128 (0.0/s)

asmonitor:

$ asmonitor -h 54.XX.XXX.XX
request to 54.XX.XXX.XX : 3000 returned error
skipping 54.XX.XXX.XX:3000
***failed to connect to any hosts

asadm:

$ asadm -h 54.XXX.XXX.XX -p 3000
Aerospike Interactive Shell, version 0.0.10-6-gdd6fb61
Found 1 nodes
Offline: 54.207.67.238:3000

我们尝试重新启动实例,其中一个回来但作为一个独立节点工作,其余的都处于描述状态。 实例正在运行,但是空中加速服务不是。

1 个答案:

答案 0 :(得分:2)

有专门使用Aerospike on Amazon EC2的指南,您可能希望密切关注它以便开始使用。

当您看到AEROSPIKE_ERR_CLIENT“无法播种群集”时,表示您的客户端无法连接到群集中的任何种子节点。种子节点是客户端连接的第一个节点,从中可以了解集群分区表和其他节点。您正在将aql与默认主机(127.0.0.1)和端口(3000)值一起使用。尝试使用-h-p,或使用--help获取有关标记的信息。

您还没有包含许多详细信息,例如这些节点是否位于同一EC2区域的同一可用区中?您是否使用网状配置配置了/etc/aerospike.conf(这是Amazone EC2中所需的模式)。简单地说,您的节点可以互相看到吗?您使用的是公共IP,但您的节点需要通过其本地IP地址相互看到。他们不知道他们的公共IP是什么,除非你配置它。同时客户端可能正在从其他AZ连接,因此您需要正确设置access_address。请参阅有关主题discussion forum

https://discuss.aerospike.com/t/problems-configuring-clustering-on-aws-ec2-with-3-db-instances/1676帖子