redis单机(集群)部署
1、redis单机部署
1.1、环境配置
redis部署需要确认c语言的编译环境,因为redis是C语言你编写的。
gcc -v
如果没有进行安装,可以用yum命令直接安装
yum install gcc-c++
1.2、redis单机部署
下载redis代码:
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
解压文件到指定目录:
tar zxvf redis-5.0.8.tar.gz -C /local/console/redis
进入解压目录,直接make相关redis源码:
cd /local/console/redis
make
编译成功,安装redis到指定目录:
make install PREFIX=/local/console/redis
打开对应安装目录下文件,如下标识安装成功:
启动redis服务:
./redis-server
补充后台启动redis,以及修改redis端口等配置,需要复制源码包下面的配置文件到安装完成的bin目录下:
cp /local/console/redis/redis-5.0.8/redis.conf .
修改相关配置信息,由于个人服务器端口开放原因,修改端口。
vim redis.conf
运行并查看运行情况:
./redis-server redis.conf
ps -ef|grep redis
如果配置的端口没生效,只需要杀死服务重新启动redis即可:
kill 进程号
kill -9 进程号
2、redis集群部署
2.1、简介:
redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,所以搭建集群尽量使用3.0以上高版本。Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群。要保证集群的高可用,需要每个节点都有从节点,也就是备份节点,所以Redis集群至少需要6台服务器。
2.2、单服务器模拟redis集群搭建准备
说明:
(1)daemonize yes 说明:开启redis的后台启动
(2)更改6个文件夹中的redis.conf文件的每一个端口号。
(3)bind 192.168.1.229 700*(代表对应的1到6)说明:绑定每一个redis的机器的ip和端口号(根据自己的机器ip对应修改)。
(4)dir /usr/local/redis-cluster/700/ 指定数据文件存放的位置,每个redis对应自己的文件夹就好。每个redis必须指定不同的文件夹位置,不然会丢失数据。
(5)cluster-enabled yes 说明:启动集群模式。
(6)cluster-conf-file nodes700*.conf 说明:集群配置文件,最好分别命名为自己的端口号,方便以后查看。
(7)cluster-node-timeout 5000 说明:集群的生效时间
(8)appendonly yes 说明:开启aof模式。
把6个文件夹中每个文件夹中的文件都做相对应的修改之后。
实践找到单机redis下bin目录,删除dump.rdb文件,另外将redis.conf配置文件中的cluster-enabled设置成yes ,然后新建集群文件夹,并复制6份redis下bin到改目录:
cd /local/console/redis/bin
rm dump.rdb
vim redis.conf (命令行模式下:/cluster-enabled 回车可快速搜索)
cp -r /local/console/redis/bin/ redis01
同单机类似,修改这6份redis下面的redis.conf文件中的端口号为9371~9376。接着启动所有redis节点,由于一个一个启动太麻烦了,所以在这里创建一个批量启动redis节点的脚本文件,命令为redis-start-all.sh,文件内容如下:
vim redis-start-all.sh
chmod +x redis-start-all.sh (赋权限可执行文件)
./redis-start-all.sh
如果执行脚本命令报错,查看文件格式是否是filename=unix,若果不是就修改ff的值。
vim redis-start-all.sh
:set ff
:set ff=unix (如果文件是doc格式强制修改为unix格式)
2.3、redis集群创建
要搭建集群的话,需要使用一个工具(脚本文件),这个工具在redis解压文件的源代码里。因为这个工具是一个ruby脚本文件,所以这个工具的运行需要ruby的运行环境,就相当于java语言的运行需要在jvm上。所以需要安装ruby,指令如下:
yum install ruby
执行创建集群脚本:(5.0之后取消了ruby脚本)
cd /local/console/redis/redis-5.0.8/src
./redis-cli --cluster create ip:9371 ip:9372 ip:9373 ip:9374 ip:9375 ip:9376 --cluster-replicas 1