介绍
本篇文章为大家展示了使用Redis5怎么搭建一个高可用集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
一、安装复述,
1,安装gcc
yum install gcc
2,下载<代码> redis-5.0.8.tar.gz 代码>
3,把下载好的redis-5.0.8.tar。广州放在软件/光宇文件夹下,并解压
祝辞tar xzf redis-5.0.8.tar.gz 祝辞,cd redis-5.0.8
4,进入到解压好的redis-5.0.8目录下,进行编译与安装
祝辞,make ,, make 安装
5,启动并指定配置文件
祝辞,src/redis-server redis.conf
(注意要使用后台启动,所以修改redis.conf里的daemonize改为yes)
6,验证启动是否成功
祝辞,ps -ef |, grep 复述,
7,进入复述,客户端
祝辞,cd /光宇/软件/redis-5.0.8/src 祝辞,。/redis-cli
8日退出客户端
祝辞,退出
9日退出复述,服务
祝辞pkill redis-server 祝辞,kill 9,进程号 祝辞,src/redis-cli 关闭
二,开始集群搭建
复述,集群需要至少要三个主节点,我们这里搭建三个主节点,并且给每个主人再搭建一个奴隶节点,总共6个复述,节点,这里用一台机器(可以多台机器部署,修改一下ip地址就可以了)部署6个复述,实例,三主三从,搭建集群的步骤如下:
<强>第一步:在第一台机器的光宇/软件下创建文件夹redis-cluster,然后在其下面创建6个文件夾如下:强>
祝辞,mkdir -p 光宇/软件/redis-cluster 祝辞,mkdir 8001, 8002, 8003, 8004, 8005, 8006
<强>第二步:把之前的复述。配置配置文件拷贝到8001下,修改如下内容:强>
1)daemonize 是的 2)port 8001(分别对每个机器的端口号进行设置) 3)dir /usr/地方/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据) 4)cluster-enabled 是的(启动集群模式) 5)cluster-config-file 节点- 8001. - conf(集群节点信息文件,这里800 x最好和港口对应上) 6)cluster-node-timeout 5000 bind 127.0.0.1(去掉绑绑定访问ip信息) protected-mode no (关闭保护模式) 9)appendonly 是的 如果要设置密码需要增加如下配置: 10)requirepass xxx (设置复述,访问密码) 11)masterauth xxx (设置集群节点间访问密码,跟上面一致)
<强>第三步:把修改后的配置文件,复制到8002 - 8006,修改第2、3、5项里的端口号,可以用批量替换:强>
祝辞,% s/源字符串/目的字符串/g
<强>第四步:分别启动6个复述,实例,然后检查是否启动成功强>
/光宇/软件/redis-5.0.8/src/redis-server /光宇/软件/redis-cluster/8001/redis.conf 光宇/软件/redis-5.0.8/src/redis-server /光宇/软件/redis-cluster/8002/redis.conf 光宇/软件/redis-5.0.8/src/redis-server /光宇/软件/redis-cluster/8003/redis.conf 光宇/软件/redis-5.0.8/src/redis-server /光宇/软件/redis-cluster/8004/redis.conf 光宇/软件/redis-5.0.8/src/redis-server /光宇/软件/redis-cluster/8005/redis.conf 光宇/软件/redis-5.0.8/src/redis-server /光宇/软件/redis-cluster/8006/复述。conf
查看是否启动成功
ps -ef | grep redis
第五步:用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现)
/gyu/software/redis-5.0.8/src/redis-cli --cluster create --cluster-replicas 1 192.168.1.49:8001 192.168.1.49:8002 192.168.1.49:8003 192.168.1.49:8004 192.168.1.49:8005 192.168.1.49:8006
(这里有个确认的过程手动输入 yes)