레디 스 버전 : 레디 스-5.0.3.tar.gz의
OS : centos7.6 완전히 새로운 시스템이 설치
노드 6, 3, 마스터, 슬레이브 3 시뮬레이션 된 가상 머신을 이용하여 레디 스 가상 컴퓨터는 192.168.220.11 IP
및 용이 아니라 여러 가상 머신을 생성하기 위해, 기본적으로 동일한 프로세스를 다른 IP를 사용하여 클러스터를 만들기.
그는 빌드로 시작했다 :
OS : centos7.6 완전히 새로운 시스템이 설치
노드 6, 3, 마스터, 슬레이브 3 시뮬레이션 된 가상 머신을 이용하여 레디 스 가상 컴퓨터는 192.168.220.11 IP
및 용이 아니라 여러 가상 머신을 생성하기 위해, 기본적으로 동일한 프로세스를 다른 IP를 사용하여 클러스터를 만들기.
그는 빌드로 시작했다 :
냠 설치 - 및 wget과 GCC systemctl 정지 firewalld.service systemctl 비활성화 firewalld.service CD / 옵트 wget을 HTTP : // download.redis.io/releases/redis-5.0.3.tar.gz 타르 zxvf redis- 5.0 . 3 . 타르 에 .gz MV redis- 5.0 . 3 레디 스 CD 반복
다음과 같은 디렉토리 구조를 추출한 후 :
컴파일 및 설치 :
만들 MALLOC을 = libc의 메이크업은 설치
SRC 디렉토리 레디 스 서버 및 관련 레디 스 CLI 명령 스크립트, PATH 환경 변수의 경로를 포함하는, 사용하기 쉬운
CD / 옵션 / 레디 스 에서 mkdir 클러스터 # 생성 레디 스 인스턴스 루트 디렉토리 CD 클러스터 MKDIR 7001 # 레디 스 특정 사례를 관련 디렉토리를 만들고, 포트 번호 7001를 지정 CD 7001 CP / 옵션 / 레디 스 / redis.conf. 현재 구성의 시작 인스턴스를 레디 스 후 수정 된 #이 구성 파일을 복사 MKDIR 데이터 #은 데이터 저장 디렉토리를 생성
구성 파일을 수정 최소화하기 위해 구성을 수정 다음은 구성 항목과 설명을 수정할 필요하다 포트 7001 # 클라이언트 연결 포트 바인드 192.168 . 220.11 # 인스턴스 IP 주소를 바인딩 디렉터리 / 옵션 / 레디 스 / 클러스터 / 7001 / 데이터 저장 위치 레디 스의 데이터 #의 구성 예를 데몬으로 예 프로세스 인스턴스 레디 스를 # 방법 나중에 시작할지 여부 pidfile pidfile 은 / var / RUN / redis_7001.pid #은 프로세스 pidfile를 지정 클러스터 - 사용 예 번호는 클러스터 모드를 활성화 클러스터 -config- 파일 이 예제의 # 클러스터 구성 파일, 파일은 데이터 디렉토리에 생성됩니다 열린 로그 AOP appendonly 예 # 보호 - 보호 모드 오프 모드 NO 번호 턴 requirepass 사이클론 # 마스터 암호 보호가 켜져 masterauth 사이클론 # 복제 상호 작용 마스터 암호 다음, 7002, 만들 수있는 같은 방법으로 7003 , 7004 , 7005 , 7006 개 폴더를 구성 파일을 수정 턴 시작에 인스턴스를 레디 스 레디 스 -server / 옵션 / 레디 스 / 클러스터 / 7001 / redis.conf 레디 스 -server / 옵션 / 레디 스 / 클러스터 / 7002 / redis.conf 레디 스 -server / 옵션 / 레디 스 / 클러스터 / 7003 / redis.conf 레디 스 -server / 옵션 / 레디 스 / 클러스터 / 7004 / redis.conf 레디 스 -server / 옵션 / 레디 스 / 클러스터 / 7005 / redis.conf 레디 스 -server / 옵션 / 레디 스 / 클러스터 / 7006 / redis.conf 결과보기 시작
클러스터 만들기의 레디 스 인스턴스는 클러스터를 만들 연결
redis-cli -a cyclone --cluster create --cluster-replicas 1 192.168.220.11:7001 192.168.220.11:7002 192.168.220.11:7003 192.168.220.11:7004 192.168.220.11:7005 192.168.220.11:7006 输出如下:
一些slave和master在相同的物理主机上,所以会出现一些警告,这个不影响。
连接到集群的某个节点:
redis-cli -a cyclone -c -h 192.168.220.11 -p 7001
查看集群相关信息:
![](https://img2018.cnblogs.com/blog/715460/201912/715460-20191205095128091-422557070.png)
查看集群节点信息:
![](https://img2018.cnblogs.com/blog/715460/201912/715460-20191205095205681-564915661.png)
集群相关操作:
1.关闭集群的某个节点,比如关闭端口号为7001的实例:
redis-cli -a cyclone -c -h 192.168.220.11 -p 7001 shutdown查看结果
![](https://img2018.cnblogs.com/blog/715460/201912/715460-20191205095236258-1597659532.png)
关闭之后,使用redis-server /opt/redis/cluster/7001/redis.conf命令可以将实例重新启动,启动完成之后,自动加入到集群当中
![](https://img2018.cnblogs.com/blog/715460/201912/715460-20191205095321125-464348597.png)
2.集群的关闭
逐个关闭redis实例进程即可查找redis实例进程号
ps -ef | grep redis
关闭redis进程,使用kill -9 ${进程号},如果需要关闭多个进程,进程号之间空格隔开即可
kill -9 10252 10257 10262 10267 10272 10294 也可执行以下命令来关闭redis进程
pkill -9 redis
3.redis集群的重新启动
保留原来的数据:逐个关闭redis实例,再逐个的启动即可。
丢弃原来的数据:
关闭实例,清空实例中数据存放目录的所有内容,然后逐个启动实例,在任意一个实例上执行集群的创建命令即可,本质上就是创建一个新的集群
清空数据存储目录内容:
关闭实例,清空实例中数据存放目录的所有内容,然后逐个启动实例,在任意一个实例上执行集群的创建命令即可,本质上就是创建一个新的集群
清空数据存储目录内容:
rm -rf /opt/redis/cluster/7001/data/* rm -rf /opt/redis/cluster/7002/data/* rm -rf /opt/redis/cluster/7003/data/* rm -rf /opt/redis/cluster/7004/data/* rm -rf /opt/redis/cluster/7005/data/* rm -rf /opt/redis/cluster/7006/data/*
启动实例:
redis-server /opt/redis/cluster/7001/redis.conf redis-server /opt/redis/cluster/7002/redis.conf redis-server /opt/redis/cluster/7003/redis.conf redis-server /opt/redis/cluster/7004/redis.conf redis-server /opt/redis/cluster/7005/redis.conf redis-server /opt/redis/cluster/7006/redis.conf
执行集群创建命令:
redis-cli -a cyclone --cluster create --cluster-replicas 1 192.168.220.11:7001 192.168.220.11:7002 192.168.220.11:7003 192.168.220.11:7004 192.168.220.11:7005 192.168.220.11:7006
转自
作者:cyclone_29
链接:https://www.jianshu.com/p/e9eab2f4a564
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
redis cluster-cluster 命令手动管理redis集群
3、将 ip 和 port 所指定的节点添加到集群中 CLUSTER MEET <ip> <port> 4、从集群中移除 node_id 指定的节点 CLUSTER FORGET <node_id> 5、将当前节点设置为 node_id 指定的节点的从节点 CLUSTER REPLICATE <node_id> 6、将节点的配置文件保存到硬盘里面 CLUSTER SAVECONFIG 7、将一个或多个槽(slot)指派(assign)给当前节点 CLUSTER ADDSLOTS <slot> [slot ...] 8、移除一个或多个槽对当前节点的指派 CLUSTER DELSLOTS <slot> [slot ...] 9、 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点 CLUSTER FLUSHSLOTS 10、将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派 CLUSTER SETSLOT <slot> NODE <node_id> 11、将本节点的槽 slot 迁移到 node_id 指定的节点中 CLUSTER SETSLOT <slot> MIGRATING <node_id> 12、从 node_id 指定的节点中导入槽 slot 到本节点 CLUSTER SETSLOT <slot> IMPORTING <node_id> 13、取消对槽 slot 的导入(import)或者迁移(migrate) CLUSTER SETSLOT <slot> STABLE 14、计算键 key 应该被放置在哪个槽上 CLUSTER KEYSLOT <key> 15、返回槽 slot 目前包含的键值对数量 CLUSTER COUNTKEYSINSLOT <slot> 16、返回 count 个 slot 槽中的键 CLUSTER GETKEYSINSLOT <slot> <count>