我想在单服务器模式下运行Aerospike服务器。 现在我有了这个配置:
service { paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. service-threads 4 transaction-queues 4 transaction-threads-per-queue 4 proto-fd-max 15000 } logging { console { context any info } } network { service { address 127.0.0.1 port 3000 } heartbeat { mode multicast multicast-group 239.1.99.222 port 9918 # To use unicast-mesh heartbeats, remove the 3 lines above, and see # aerospike_mesh.conf for alternative. interval 150 timeout 10 } fabric { port 3001 } info { port 3003 } } namespace test { replication-factor 1 memory-size 20M default-ttl 1d # 30 days, use 0 to never expire/evict. storage-engine memory }当我尝试启动服务器时,我在日志中出错:
“无法为节点ID找到任何合适的网络设备”
我不希望服务器可用于互联网。 如何实现这一目标并解决问题?
I want to run Aerospike server in single-server mode. Now I have this configuration:
service { paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. service-threads 4 transaction-queues 4 transaction-threads-per-queue 4 proto-fd-max 15000 } logging { console { context any info } } network { service { address 127.0.0.1 port 3000 } heartbeat { mode multicast multicast-group 239.1.99.222 port 9918 # To use unicast-mesh heartbeats, remove the 3 lines above, and see # aerospike_mesh.conf for alternative. interval 150 timeout 10 } fabric { port 3001 } info { port 3003 } } namespace test { replication-factor 1 memory-size 20M default-ttl 1d # 30 days, use 0 to never expire/evict. storage-engine memory }And when I try to start server I got error in the log:
"Unable to find any suitable network device for node ID"
I don't want server to be available to internet. How to achieve this and fix the issue?
最满意答案
节点ID使用主机上接口的MAC ID生成。
https://github.com/aerospike/aerospike-server/blob/master/cf/src/socket.c#L2470
如果您没有aerospike知道的任何默认接口名称,那么您可能会收到此错误。
要解决此问题,您可以指定您的接口名称。
http://www.aerospike.com/docs/operations/troubleshoot/startup#problem-with-network-interface
为避免在Internet上暴露您的aerospike节点,您只能将其绑定到localhost或仅绑定到专用接口,或使用其他网络工具/设备来避免暴露服务器端口(如防火墙或ACL)。 避免在互联网上暴露aerospike的最佳方法是确保托管aerospike的服务器不会暴露于互联网。 如果这不可行,那么仅使用防火墙限制您的aerospike端口访问您的aerospike客户端IP。 此外,您还可以使用企业版中提供的数据库凭据。
http://www.aerospike.com/docs/guide/security.html
The Node ID is generated using the MAC id of the interface on the host.
https://github.com/aerospike/aerospike-server/blob/master/cf/src/socket.c#L2470
If you dont have any of the default interface names that aerospike is aware of, then you might get this error.
To fix this problem, you can specify your interface name.
http://www.aerospike.com/docs/operations/troubleshoot/startup#problem-with-network-interface
To avoid exposing your aerospike node on internet, you can bind it only to localhost or to a private interface only or use other network tools/devices to avoid exposing the server port such as firewall or ACL. Best way to avoid exposing aerospike on internet is to ensure that the server hosting aerospike is not exposed to internet. If that is not doable then restrict your aerospike port access to your aerospike clients IP only using firewall. Also, you can use database credentials available in enterprise edition.
http://www.aerospike.com/docs/guide/security.html
更多推荐
发布评论