2014-03-06 1 views
1

내 환경은 Mac OS 10.9.2, python3.3, redis-2.6.9 (64 비트)입니다.로컬 호스트 연결 중 Redis 오류 8 : 6379. nodename 또는 servname이 제공되거나 알려지지 않음

내가 데이터를 기록하기 위해 동일한 레디 스 인스턴스를 사용하는 많은 스레드 (nealy 2000), 그러나 어떤 스레드가 다음과 같은 예외를 던져 :

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 250, in connect 
    sock = self._connect() 
    File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 268, in _connect 
    self.socket_timeout) 
    File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 417, in create_connecti 
on 
    for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
socket.gaierror: [Errno 8] nodename nor servname provided, or not known 

Traceback (most recent call last): 
    File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/threading.py", line 901, in _bootstrap_i 
nner 
    self.run() 
    File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/threading.py", line 858, in run 
    self._target(*self._args, **self._kwargs) 
    File "proxypool.py", line 289, in _efficiency_proxy 
    self.rdb.zadd(db_proxy, time_delay, proxy) 
    File "/usr/local/lib/python3.3/site-packages/redis/client.py", line 1345, in zadd 
    return self.execute_command('ZADD', name, *pieces) 
    File "/usr/local/lib/python3.3/site-packages/redis/client.py", line 464, in execute_command 
    connection.send_command(*args) 
    File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 334, in send_command 
    self.send_packed_command(self.pack_command(*args)) 
    File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 316, in send_packed_command 
    self.connect() 
    File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 253, in connect 
    raise ConnectionError(self._error_message(e)) 
redis.exceptions.ConnectionError: Error 8 connecting localhost:6379. nodename nor servname provided, or not known. 

이 문제를 해결하기 위해 어떤 방법이 있나요?
이 예외가 발생하면 redis 서버에 연결을 시도 했으므로 ulimit -n을 사용하여 큰 번호를 설정했지만 두 가지 방법이 작동하지 않습니다.

+0

주소가 변수 (호스트, 포트)에 할당되는 코드를 보여주십시오. – Agis

+0

@Agis, 로컬 redis의 기본값 (호스트, 포트)을 사용합니다. – flyer

답변

1

나는 이런 일이 일어난 이유를 알고 있습니다. 이것은 redis-server에 대한 최대 연결 수에 의해 발생하며 OS가 설정하는 최대 파일 핸들러 수와 관련이 있습니다.
내가 설정 한 경우 :

$ ulimit -n 1024 

가 작동합니다.

0

대부분의 경우 빨간색 서버가 실행되고 있지 않습니다. "redid-server"명령을 사용하여 실행하십시오.

관련 문제