Redis Installation Fail - Port 53

The installation of Redis is failing due to port 53 (DNS) in use.

Error Logs :

pdns_server error log snippet:

Mar 09 13:51:58 Unable to bind UDP socket to '0.0.0.0:53': Address already in use

Mar 09 13:51:58 Fatal error: Unable to bind to UDP socket

Mar 09 13:52:01 Unable to bind UDP socket to '0.0.0.0:53': Address already in use

Mar 09 13:52:01 Fatal error: Unable to bind to UDP socket

Example from node:1:

  • nobody 1626 0.0 0.0 56272 2020 ? Ss Mar03 0:00 /usr/sbin/dnsmasq -k

The proxy port 10000 is only listening on node:1 as the proxy policy is set to "single" and node:1 has the master shards for that redis database:

Databases:

DB:ID NAME TYPE STATUS SHARDS PLACEMENT REPLICATION PERSISTENCE ENDPOINT EXEC_STATE EXEC_STATE_MACHINE BACKUP_PROGRESS MISSING_BACKUP_TIME REDIS_VERSION

db:3 uipath-orchestrator redis active 1 dense enabled disabled redis-10000.uipath.cluster:10000 N/A N/A N/A N/A 5.0.8

Endpoints:

DB:ID NAME ID NODE ROLE SSL WATCHDOG_STATUS

db:3 uipath-orchestrator endpoint:3:1 node:1 single No OK

Resolution:

In order for redis-10000.uipath.cluster to resolve on the internal DNS (which should be set up for DNS delegation if using DNS for endpoint resolution), dnsmasq needs to be disabled on every node to keep it from occupying the required DNS port. The below typically works for RHEL7:

# Disable dnsmasq and restart the network services

sudo systemctl disable dnsmasq

sudo sed -i 's/^dns=dnsmasq/#&/' /etc/NetworkManager/NetworkManager.conf

sudo systemctl restart NetworkManager

sudo systemctl restart network

sudo killall dnsmasq

# restart the pdns service

sudo supervisorctl restart pdns_server