redis安装及redis cluster创建
先检查是否安装GCC,若无则先安装GCC,不然编译redis会报错。
命令:gcc -v
若提示命令未找到则没有。
可按照GCC G++环境离线配置.docx文档添加。
步骤一:下载redis安装包并通过xftp上传到服务器
链接:http://download.redis.io/releases/
步骤二:解压redis安装包
命令:tar -zxvf redis-5.0.9.tar.gz
步骤三:进入redis解压后的目录,对redis进行编译
命令:make
编译成功:
出现It’s a good idea to run ‘make test’即编译成功
步骤四:编译成功后对redis进行安装(安装路径可自定义)
创建redis-5.0.9目录:mkdir redis-5.0.9
命令:make install PREFIX=/usr/local/redis-5.0.9
出现It’s a good idea to run ‘make test’即安装成功
Redis安装后目录信息:
步骤五:验证是否安装成功
启动redis-server:
cd到安装目录的bin目录下,
命令:./redis-server
启动redis-cli操作:
cd到安装目录的bin目录下,
命令:./redis-cli
单机redis安装且验证成功!
配置redis.conf,修改配置成为后台运行:
将 bind 127.0.0.1 ::1 这一行注释掉。指定的网段才能远程访问这个redis;
将 protected-mode 设置成no(默认是yes阻止了远程访问,在redis3.2.3版本后);
将 daemonize 设置成 yes(表明需要在后台运行);
然后将配置文件放到安装目录,使用配置文件重新启动redis
将配置文件复制到redis安装路径下:
cd 到redis解压目录:cd /home/software/redis-5.0.9
执行命令:cp redis.conf /usr/local/redis-5.0.9/bin/
cd 到安装目录:cd /usr/local/redis-5.0.9/bin/
执行命令:./redis-server redis.conf
注意:若安装成功后用redis desktop工具连接不上,应该检查服务器的防火墙是否开启
命令:systemctl status firewalld
若开启则关闭防火墙或开通对应端口
关闭防火墙命令:systemctl stop firewalld
开启防火墙端口命令:firewall-cmd --znotallow=public --add-port=9200/tcp --permanent
注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
Redis cluster集群安装
步骤一:在单机版redis的基础上创建集群节点
- 创建集群节点目录
- 复制redis文件到集群节点目录
- 若文件中存在dump.rdb则需要删除
步骤二:配置集群节点redis.conf配置文件
修改端口:port 7001
后台启动:daemonize yes
启动集群模式:cluster-enabled yes
节点超时时间(单位毫秒):cluster-node-timeout 15000
步骤三:启动集群节点
注意:启动集群节点前停掉原有的redis服务
其他节点按照当前步骤操作即可。
步骤四:启动集群
redis5以上的版本可以直接使用redis-cli命令进行集群的创建
cd到目录:/usr/local/redis-5.0.9/cluster/redis7001
命令:./redis-cli --cluster create 10.201.9.11:7001 10.201.9.12:7002 10.201.9.13:7003 --cluster-replicas 0
注意:其中–cluster-replicas 1 意味着我们需要为每个创建的主服务器创建一个副本(从节点,高可用),0就没有副本。三个节点就用0,六个节点就用1
集群启动成功:
步骤五:验证集群是否正常
cd 到目录:/usr/local/redis-5.0.9/cluster/redis7001/
命令:./redis-cli -c -p 7001
注意:一定要加上-c,不然节点之间是无法自动跳转的!
集群信息命令:cluster info
集群节点数命令:cluster nodes
redis命令set和get验证操作:
非高可用多节点的Redis集群搭建已经完成!
搭建高可用redis集群,每个主节点带一个副本(从节点),每台机器上再搞一个/usr/local/redis-5.0.9/cluster/redis700X的文件夹。
其中redis.conf中的port配置成700X,创建集群时将所有的700X节点都加上即可。
高可用集群创建命令:
cd到目录:/usr/local/redis-5.0.9/cluster/redis7001
命令:./redis-cli --cluster create 10.201.9.11:7001 10.201.9.12:7002 10.201.9.13:7003 10.201.9.11:7004 10.201.9.12:7005 10.201.9.13:7006 --cluster-replicas 1
Master为主节点,slave为从节点
高可用集群操作验证结果:
集群操作命令:
- 关闭集群的某个节点,比如关闭端口号为7001的实例命令:redis-cli -a cyclone -c -h 127.0.0.1 -p 7001 shutdown
-a 用于指定认证密码;
-c 连接集群时使用,此选项可防止moved和ask异常;
-h 用于指定ip;
-p 用于指定端口
- 集群关闭逐个关闭redis实例进程即可
查找redis实例进程号
命令:ps -ef | grep redis
关闭redis进程,使用kill -9 ${进程号},如果需要关闭多个进程,进程号之间空格隔开即可
命令:kill -9 2376 2381 2386 2391 2451 2477
- 集群中增加节点cluster meet ip port
- 更换节点身份方法一:redis-cli -c -h ip -p port -a password cluster replicate e51ab166bc0f33026887bcf8eba0dff3d5b0bf14(节点id)
方法二:先登入集群,再执行CLUSTER REPLICATE e51ab166bc0f33026887bcf8eba0dff3d5b0bf14 - 删除集群节点(删除集群从节点前需先删除主节点)命令:CLUSTER FORGET节点id
- 保存节点配置命令:CLUSTER SAVECONFIG