标签: aerospike

在Aerospike中模拟数百万存在检查的最佳方法?

Redis发展成为一些数据结构后,我正在寻找具有良好磁盘/ SSD性能的其他解决方案.我最近发现Aerospike似乎在SSD环境中表现出色.

饥饿最多的结构之一是大约100.000个Redis集,每个集可以包含多达10,000个字符串.每个字符串介于10到30个字符之间.

这些集主要用于存在/唯一性检查.

对这些进行建模的最佳方法是什么?我通常会看到两个选项:*将redis设置为Aerospike lset *模型,将每个值分别设置为一组.

除了这个选择,100.000 Redis集用作键上的分区.出于本地化的原因,在Aerospike中进行类似的分区/命名空间可能是有意义的.但是,我很确定Aerospike中"命名空间"的概念并不用于这种关键分区.在Aerospike中执行此操作的正确方法(如果有的话),还是不需要?

data-modeling redis aerospike

4
推荐指数
2
解决办法
628
查看次数

Aerospike Community Edition:我应该怎么做`aerospike.conf`来建立集群?

我正在尝试在Ubuntu 14.04上设置一个三节点Aerospike集群.除了IP地址/名称,每台机器都是相同的.我根据文档在每台机器上安装了Aerospike和管理控制台.

然后我编辑了网络/服务和网络/心跳部分/etc/aerospike/aerospike.conf:

network {
    service {
        address any
        port 3000
        access-address 10.0.1.11  # 10.0.1.12 and 10.0.1.13 on the other two nodes
    }

    heartbeat {
        mode mesh
        port 3002
        mesh-seed-address-port 10.0.1.11 3002
        mesh-seed-address-port 10.0.1.12 3002
        mesh-seed-address-port 10.0.1.13 3002
        interval 150
        timeout 10
    }

[...]

}
Run Code Online (Sandbox Code Playgroud)

当我sudo service aerospike start在每个节点上时,服务运行但它没有聚集.如果我尝试在管理控制台中添加另一个节点,它会通知我:"此处无法监视节点10.0.1.12:3000,因为它属于不同的集群."

你能看出我做错了什么吗?我应该aerospike.conf在每个节点上进行哪些更改,以便设置Aerospike集群而不是三个隔离的实例?

aerospike

4
推荐指数
1
解决办法
1048
查看次数

Aerospike 错误:(9) 客户端超时:超时=1000 次迭代=1 failedNodes=0 failedConns=0

我是 Aerospike 的新手...!

当我尝试将记录插入数据库时​​,它显示超时错误,例如...

aql> INSERT INTO test.student (pk, emp_id, name, age) VALUES ('k003', 'BP003', 'Sai', 25)
Error: (9) Client timeout: timeout=1000 iterations=1 failedNodes=0 failedConns=0
Run Code Online (Sandbox Code Playgroud)

还有一件事情....

我关闭我的wifi,然后运行相同的命令,当时它没有显示错误并且命令成功运行。

aql> INSERT INTO test.student (pk, emp_id, name, age) VALUES ('k003', 'BP003', 'Sai', 25)
OK, 1 record affected.
Run Code Online (Sandbox Code Playgroud)

所以这是什么意思...?

谁能帮我解决这个问题.....!

database nosql in-memory-database aerospike

4
推荐指数
2
解决办法
4504
查看次数

如何从命名空间获取所有密钥?

如何从aerospike命名空间获取所有键,就像我可以从地图中获取键一样map.keyset.我经历了这个链接Aerospike:我如何获得记录密钥?.我做了答案中被告知的事情.我编写了代码,writePolicy.sendKey = true但是NULL当我在scanCallback功能中显示密钥时,我仍然会得到.

这是我写一条记录的代码(任何帮助将不胜感激)

def writeToAerospike(): Boolean = {

val host:Host = new Host("xx.xxx.xxx.xx", 3000)
val client = new AerospikeClient(new ClientPolicy,host)

val policy = new WritePolicy();
policy.sendKey = true;
policy.timeout = 50000;

if(client.isConnected()){
   println("connection to aerospike client sucessful")
   client.put(policy,new Key("test", "testSet", "1"),new Bin("name", "john"))

   //verify if the record is entered correctly
   println(client.get(policy,new Key("test", "testing", "1")).getValue("name"))

   client.close()
   return true
}
return false 
}
Run Code Online (Sandbox Code Playgroud)

我使用此示例中的代码来扫描记录:http://www.aerospike.com/docs/client/java/usage/scan/scan.html

class ScanParallelTest …
Run Code Online (Sandbox Code Playgroud)

namespaces get key record aerospike

4
推荐指数
1
解决办法
1133
查看次数

具有不同复制因子的Aerospike簇

我有一个复制因子为6(和6个节点)的集群.

我想在不停机的情况下将复制因子更改为3.

如果我按节点更改RF节点并重新启动每个节点会发生什么?

有可能工作吗?

replication aerospike replication-factor

4
推荐指数
1
解决办法
217
查看次数

docker 上的多个 aerospike 节点

我想要有一个 aerospike-server 节点的多个实例,以便实现负载平衡,因为我向服务器发出了如此多的请求,我收到一条错误消息“错误代码 22:此时不允许操作”。

我假设拥有更多 aerospike 服务器节点,我可以减轻一个节点上的负载,从而完成更多操作?我只是不知道从哪里开始。

我需要这些节点全部位于一台主机本地。任何帮助都会很棒。

我的网络知识不是很好所以请原谅我

我的 Docker 文件:

FROM aerospike/aerospike-server

MAINTAINER "xxxx"

ADD aerospike.conf /etc/aerospike/
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "3"

services:
   aerospike-server:
      image: amc
      container_name: aerospike-server
      ports:
      - "3000:3000"
      - "3001:3001"
      - "3002:3002"
      - "3003:3003"
   aerospike-amc:
      image: mrbar42/aerospike-amc
      container_name: aerospike-amc
      ports:
      - "8081:8081"
Run Code Online (Sandbox Code Playgroud)

aerospike.conf 网络节

network {
    service {
        address any
        port 3000

        # Uncomment the following to set the `access-address` parameter to the
        # IP address of the Docker host. This will the allow the server to …
Run Code Online (Sandbox Code Playgroud)

docker aerospike

4
推荐指数
1
解决办法
1310
查看次数

无法从主机连接到Docker Aerospike

我在docker中运行aerospike服务器.

$  docker run -d --name aerospike aerospike/aerospike-server
0ad3b2df67bd17f896e87ed119758d9af7fcdd9b82a8632828e01072e2c5673f
Run Code Online (Sandbox Code Playgroud)

它成功启动.

$docker ps
CONTAINER ID        IMAGE                        COMMAND                
CREATED             STATUS              PORTS               NAMES
0ad3b2df67bd        aerospike/aerospike-server   "/entrypoint.sh asd"    
4 seconds ago       Up 2 seconds        3000-3003/tcp       aerospike
Run Code Online (Sandbox Code Playgroud)

我使用下面的命令找到了docker的ip地址.

$ docker inspect -f '{{.NetworkSettings.IPAddress }}' aerospike
172.17.0.2 
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下命令连接到aql时,它也是成功的.

$ docker run -it aerospike/aerospike-tools aql -h  $(docker inspect -f 
'{{.NetworkSettings.IPAddress }}' aerospike)
 Aerospike Query Client
 Version 3.15.0.3
 C Client Version 4.2.0
 Copyright 2012-2017 Aerospike. All rights reserved.
 aql> select * from test.person
 0 rows in set (0.002 …
Run Code Online (Sandbox Code Playgroud)

docker aerospike dockerfile

4
推荐指数
1
解决办法
499
查看次数

有关在GCE上对CoreOS上的Kubernetes运行Aerospike的任何建议吗?

我想在Google Compute Engine(GCE)上的CoreOS上由Kubernetes管理的Docker容器上运行Aerospike集群.但由于GCE不允许组播,我必须使用此处所述的Mesh心跳,必须通过指定所有节点的IP地址和端口来设置; 它似乎对我来说太不灵活了.

Kubernetes/CoreOS/GCE上的Aerospike集群是否有任何推荐的云配置设置,并保留了集群的灵活性?

google-compute-engine docker aerospike kubernetes

3
推荐指数
1
解决办法
785
查看次数

不能运行aerospike去的例子

我正试图运行一个空中飞行的例子:

package main

    import (
    "github.com/aerospike/aerospike-client-go"
    "fmt"
    )

    func panicOnError(err error) {
    if err != nil {
        panic(err)
    }
    }

     func main() {
    // define a client to connect to
    client, err := NewClient("127.0.0.1", 3000)
    panicOnError(err)

    key, err := NewKey("test", "aerospike", "key")
    panicOnError(err)

    // define some bins with data
    bins := BinMap{
        "bin1": 42,
        "bin2": "An elephant is a mouse with an operating system",
        "bin3": []interface{}{"Go", 2009},
    }

    // write the bins
    err = client.Put(nil, key, bins)
    panicOnError(err)

    // read …
Run Code Online (Sandbox Code Playgroud)

go aerospike

3
推荐指数
1
解决办法
96
查看次数

如何使用连接池到aerospike服务器

我想使用golang连接到aerospike服务器

我无法获得任何提供此类选项的库.Redis等的默认golang库具有明确的池示例.不确定为什么他们因为空中加速器而失踪

go aerospike

3
推荐指数
1
解决办法
149
查看次数