我尝试通过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
是一种错误还是我配置错误?
答案 0 :(得分:1)
这是aerospike dockerimage中的错误。 网络设备的名称在entrypoint.sh中被硬编码
对我来说,它是通过更改行NETLINK=${NETLINK:-eno1}
来解决的
到{{1}}