skip to Main Content

Whenever I try to connect to my Redis server from my Java application using Jedis, I get JedisConnectionException: Failed to connect to any host resolved for DNS name. The Java application runs on the same machine as the Redis server.

When I check the Redis server’s status using systemctl, it’s online and running without problems. I also connected to the Redis client via terminal using command-line on the Linux machine it is running on, authenticated and performed PING in which PONG was returned to make sure the Redis was up running.

Redis configuration

I have bind and requirepass un-commented in the redis.conf and looks like following (not my entire config, of course):

bind 127.0.0.1
requirepass mypassword
port 6379

This is the code I am using:

private void setupRedis(RedisCredentials credentials) {
    final GenericObjectPoolConfig<Jedis> poolConfig = new JedisPoolConfig();
    poolConfig.setMaxIdle(0);

    Jedis jedis;
    try (JedisPool pool = new JedisPool(poolConfig, credentials.getIp(), credentials.getPort())) { 
        jedis = pool.getResource();
    }

    jedis.auth(credentials.getPassword());
    jedis.connect();
    log.info("Redis connection was established.")
}

I am a bit new to working with Redis therefor I wasn’t sure on how much information to include in my post. All and any help is very much appreciated!

Tried

I tried the following code provided above multiple times. I have also tried restarting the Redis server and running the code again, with no successful try.

Expected to happen

For the application to log "Redis connection was establish" and to receive no errors in the process.

Resulted

The console logs the redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name and the application therefore obviously does not managed to establish a connection to Redis.

2

Answers


  1. I had the same mistake. If I checked the open ports looks like 6379 is open but can’t connect.

    I recomend check the firewall. And on the case open the port there.

    ufw allow 6379

    Login or Signup to reply.
  2. For redis-cluster user this problem can happen if some of the master nodes are not up and running.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search