[REDIS] 레디 스 클러스터에 연결 실패
REDIS레디 스 클러스터에 연결 실패
나는 배포 옵션을 클릭하여 구글 컴퓨 트 엔진에 설치 레디 스 클러스터가 있습니다. 지금은 여기에 ioredis '를 사용하여 내 노드 JS 코드에서이 레디 스 서버에 연결하려는 것은 레디 스의 단일 인스턴스에 연결하는 내 코드입니다
var Redis = require("ioredis");
var store = new Redis(6379, 'redis-ob0g');//to store the keys
var pub = new Redis(6379, 'redis-ob0g');//to publish a message to all workers
var sub = new Redis(6379, 'redis-ob0g');//to subscribe a message
var onError = function (err) {
console.log('fail to connect to redis ',err);
};
store.on('error',onError);
pub.on('error',onError);
sub.on('error',onError);
그리고 그것은했다. 지금은 내가 같은 코드를 변경할 수 있도록, 클러스터와 레디 스에 연결하려면
/**
* list of server in replica set
* @type {{port: number, host: string}[]}
*/
var nodes =[
{ port: port, host: hostMaster},
{ port: port, host: hostSlab1},
{ port: port, host: hostSlab2}
];
var store = new Redis.Cluster(nodes);//to store the keys
var pub = new Redis.Cluster(nodes);//to publish a message to all workers
var sub = new Redis.Cluster(nodes);//to subscribe a message channel
지금은이 오류를 던져 :
여기 내 구글 컴퓨팅 콘솔에서 내 레디 스 클러스터는 다음과 같습니다
해결법
-
==============================
1.좋아, 내가 여기에 혼란이 있다고 생각합니다.
좋아, 내가 여기에 혼란이 있다고 생각합니다.
레디 스 클러스터 배포 센티넬에 의해 보호 표준 레디 스 인스턴스의 수보다 동일하지 않습니다. 두 개의 매우 다른 것.
GCE의 클릭 투 배포 옵션은 센티넬하지 레디 스 클러스터에 의해 보호 표준 레디 스 인스턴스의 수를 배포합니다.
ioredis은 배포의 두 종류를 처리 할 수 있지만 해당 API를 사용합니다. 여기에서, 당신이 오류 (클러스터 관련 명령은 표준 레디 스 인스턴스 활성화되지 않음)의 결과로, 레디 스 클러스터 API를 사용하고있었습니다.
ioredis 문서에 따르면, 당신은과 연결되어있다 :
var redis = new Redis({ sentinels: [{ host: hostMaster, port: 26379 }, { host: hostSlab1, port: 26379 }, { host: hostSlab2, port: 26379 } ], name: 'mymaster' });
물론, 마스터의 감시 포트와 이름을 확인합니다. 마스터가 실패 할 때 ioredis 자동으로 슬레이브 인스턴스에 스위치를 관리하고 감시 슬레이브가 직전 마스터로 추진되도록해야합니다.
당신이 술집 / 서브를 사용하기 때문에, 여러 레디 스 연결을해야한다는 점에 유의하십시오.
from https://stackoverflow.com/questions/32088363/connection-to-redis-cluster-failed by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 푸른 레디 스 캐시 - GET 호출에 시간 제한 (0) | 2020.01.20 |
---|---|
[REDIS] laravel 5.5 Predis "집계 / RedisCluster.php의 풀에서 사용할 수 없음 연결 : 337" (0) | 2020.01.20 |
[REDIS] 쓰기를 확장하는 방법으로 일관된 해싱 (0) | 2020.01.20 |
[REDIS] 레디 스 설정하고 해결의 관계를 분류 (0) | 2020.01.20 |
[REDIS] sidekiq 노동자가 perform_async으로 수행 된 경우 확인하는 방법 레일 (0) | 2020.01.20 |