代码之家  ›  专栏  ›  技术社区  ›  Flo

Aerospike群集配置

  •  0
  • Flo  · 技术社区  · 5 年前

    我试着启动一个Aerospike集群并通过Docker运行,然后使用以下配置启动集群

    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

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

    0 回复  |  直到 5 年前
        1
  •  1
  •   Flo    5 年前

    这是aerospike档案里的一只虫子。 网络设备的名称在entrypoint.sh中硬编码

    所以对我来说是通过改变线路来解决的 NETLINK=${NETLINK:-eth0} NETLINK=${NETLINK:-eno1}