Aerospike群集配置

时间:2019-03-24 07:35:24

标签: database docker aerospike

我尝试通过Docker启动并运行Aerospike集群,并使用以下配置来启动我的集群

Configuration:
    service {
            user root
            group root
            paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
            pidfile /var/run/aerospike/asd.pid
            service-threads 24
            transaction-queues 4
            transaction-threads-per-queue 4
            proto-fd-max 15000

    }



    network {
        service {
            address any
            access-address 172.16.43.5
            port 3000
        }

        heartbeat {
            mode mesh

            port 3002 # Heartbeat port for this node.
            address 172.16.43.5
            # List one or more other nodes, one ip-address & port per line:
            # Please note that we do not have the address of the incoming node in this list
            mesh-seed-address-port 172.16.43.7  3002
            mesh-seed-address-port 172.16.43.5  3002
            # Having the node itself as a mesh seed node is allowed
            # and helps with consistent configuration files across the cluster

            interval 250
            timeout 10
        }

        fabric {
            port 3001
        }

        info {
            port 3003
        }
    }

    namespace test {
                                   # Data in memory without persistance namespace
        replication-factor 2
        memory-size 32G
        default-ttl 30d               # 30 days, use 0 to never expire/evict.
        storage-engine memory
    }

但是群集中的节点失败,并显示以下错误:

Mar 22 2019 16:48:48 GMT: WARNING (socket): (socket.c:805) Error while binding to 172.16.43.5:3002: 99 (Cannot assign requested address)

这是我尝试使用的命令:

docker run -p 3000:3000 -p 3001:3001 -p 3002:3002 -p 9918:9918 -v /home/user/aerospike:/opt/aerospike/etc aerospike/aerospike-server:latest --config-file /opt/aerospike/etc/aerospike.conf

如果使用--net host,则会出现以下错误: cat: /sys/class/net/eth0/operstate: No such file or directory

是一种错误还是我配置错误?

1 个答案:

答案 0 :(得分:1)

这是aerospike dockerimage中的错误。 网络设备的名称在entrypoint.sh中被硬编码

对我来说,它是通过更改行NETLINK=${NETLINK:-eno1}来解决的 到{{1}}