Redis 搭建集群

Redis 搭建集群

在一个主机IP下搭建集群,将6个文件夹当作6个redis节点

1.1 安装Redis(请参考其他博客)

1.2 安装ruby和rubygems

	#1.2.1 ubuntu下安装
        sudo apt-get install ruby-full rubygems    #直接全部下载安装
	    whilch gem         #检查rubygems是否安装成功
	    sudo gem install rubygems-update     #安装rubygems管理工具包的更新工具
	    update-rubygems    #执行更新
	    gem install redis   #安装redis和ruby的接口
	#1.2.2 centos下的安装
		yum install ruby    #安装ruby
		yum install rubygems
		gem install redis

2.1 redis.conf配置文件

	#2.1.1建立文件夹目录及子文件夹用于存放集群各个节点的数据
		mkdir /usr/local/redis-cluster 7001
		mkdir /usr/local/redis-cluster 7002
		mkdir /usr/local/redis-cluster 7003
		mkdir /usr/local/redis-cluster 7004
		mkdir /usr/local/redis-cluster 7005
		mkdir /usr/local/redis-cluster 7006
	    #找到原redis.conf文件并cp备份一份
		cp redis.conf /usr/local/redis-cluster/7001/   #将文件拷贝至7001文件夹中
		.
		.
		.
		#可以继续拷贝至7002、7003、7004、7005、7006,然后逐份修改,建议先修改好7001的redis.conf再拷贝
	#2.1.2修改配置文件
		cd /usr/local/redis-cluster/7001  
		vim redis.conf
		    #开始进行7001文件夹下redis.conf文件的修改
			daemonize yes     #设置redis后台启动
			port 7001         #修改对应端口号
			bind 192.168.1.111   #绑定当前IP   
			#使用腾讯云服务器之类的IP要确认填写正确,进入系统后 IP address for eth0:显示IP
			dir /usr/local/redis-cluster/7001/   #指定数据文件存放的位置,不同节点指定不同的位置,防止数据丢失
			cluster-enabled yes    #启动集群模式
			cluster-config-file nodes7001.conf  #让各个节点之间相互关联
			cluster-node-timeout 5000   
			appendonly yes
			
			#以下3条语句可跳过
				#若想查看日子文件,可以修改日志文件的存放位置,此条非必须,位置可变
				logfile /var/log/redis-server.log
				#若存在文件权限问题,先选择性决定修改权限
				su   
				chmod -R 777 /usr/local/redis-cluster   #递归设置redis-cluster下的所有文件的权限为777
			
			#将redis.conf文件拷贝至其余文件夹下
			cp /usr/local/redis-cluster/7001/redis.conf /usr/local/redis-cluster/7002/
			cp /usr/local/redis-cluster/7001/redis.conf /usr/local/redis-cluster/7003/
			cp /usr/local/redis-cluster/7001/redis.conf /usr/local/redis-cluster/7004/
			cp /usr/local/redis-cluster/7001/redis.conf /usr/local/redis-cluster/7005/
			cp /usr/local/redis-cluster/7001/redis.conf /usr/local/redis-cluster/7006/
			
			#与修改7001的redis.conf文件配置一样,对其余文件夹下redis.conf文件中对应的端口号进行的修改

#3.1 启动6个redis实例,并检查是否启动成功
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7001/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7002/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7003/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7004/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7005/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7006/redis.conf

		netstat -tunpl | grep redis  #显示开启的redis服务
			#结果如下
						tcp        0      0 172.16.0.16:17001       0.0.0.0:*               LISTEN      19909/redis-server  
			tcp        0      0 192.168.1.111:17002       0.0.0.0:*               LISTEN      20581/redis-server  
			tcp        0      0 192.168.1.111:17003       0.0.0.0:*               LISTEN      20620/redis-server  
			tcp        0      0 192.168.1.111:17004       0.0.0.0:*               LISTEN      20629/redis-server  
			tcp        0      0 192.168.1.111:17005       0.0.0.0:*               LISTEN      20641/redis-server  
			tcp        0      0 192.168.1.111:17006       0.0.0.0:*               LISTEN      20654/redis-server  
			tcp        0      0 192.168.1.111:7001        0.0.0.0:*               LISTEN      19909/redis-server  
			tcp        0      0 192.168.1.111:7002        0.0.0.0:*               LISTEN      20581/redis-server  
			tcp        0      0 192.168.1.111:7003        0.0.0.0:*               LISTEN      20620/redis-server  
			tcp        0      0 192.168.1.111:7004        0.0.0.0:*               LISTEN      20629/redis-server  
			tcp        0      0 192.168.1.111:7005        0.0.0.0:*               LISTEN      20641/redis-server  
			tcp        0      0 192.168.1.111:7006        0.0.0.0:*               LISTEN      20654/redis-server

#4.1 创建redis集群
#以下新旧版本的redis可能有区别
cd /usr/local/bin #在此目录下找到 redis-trib.rb文件
./redis-trib.rb #执行脚本,可以查看help文件,及使用方法,如果报错是因为现在使用了redis-cli来代替redis-trib.rb脚本
redis-cli --cluster help #查看新脚本的帮助文件
cd /usr/local/bin

		#开始创建集群,其中--cluster-replicas的参数代表master和slave的比例关系,按顺序分配master与slave
		./redis-cli --cluster create 192.168.1.111:7001 192.168.1.111:7002 192.168.1.111:7003 192.168.1.111:7004 192.168.1.111:7005 192.168.1.111:7006 --cluster-replicas 1
		#创建过程中会显示所要创建的集群信息
		yes    #开始创建
		#创建完成

		#检查集群是否创建成功
		/usr/local/bin/redis-cli -c -h 192.168.1.111 -p 7001     #进入7001节点
		cluster info    #查看集群信息
		cluster nodes   #查看节点信息
		#创建成功

#5.1 简单的操作
192.168.1.111:7001> set name Jett #当前 master 7001
-> Redirected to slot [5798] located at 192.168.1.111:7002 #redis进行分配槽至[5798]在 master 7002
OK
192.168.1.111:7002> keys *
1) “name”
192.168.1.111:7002> quit
root@VM-0-16-ubuntu:/usr/local/bin# /usr/local/bin/redis-cli -c -h 192.168.1.111 -p 7001
192.168.1.111:7001> keys *
(empty list or set)
192.168.1.111:7001> get name # name在7002,但其他节点都可以读取该信息
-> Redirected to slot [5798] located at 192.168.1.111:7002
“Jett”
ubuntu@VM-0-16-ubuntu:~$ /usr/local/bin/redis-cli -c -h 192.168.1.111 -p 7004
192.168.1.111:7004> keys * #同时7002对应的slave中含有name的key
1) “name”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值