之前写过redis单机安装,现在写关于集群的安装配置
环境:虚拟机 CentOS Linux release 7.5.1804 (Core) redis-3.2.4
ruby 2.0.0p648 gem 2.0.14.1 redis-3.2.2.gem (这三个是redis做集群时要用到的,5.0以后好像不用了)
(现在最新版的:redis-5.0.4.tar.gz ruby2.6.0p0 gem3.0.1 redis-4.1.0.gem)
6台虚拟机ip分别是:192.168.3.36、192.168.3.37、192.168.3.38、192.168.3.39、192.168.3.40、192.168.3.41
1、安装
有两种方式:
方式一:先在一台虚拟机上安装好,再复制其他5台虚拟机
方式二:安装好6台虚拟机,在其中一台虚拟机上安装好后,复制安装好后的redis安装目录到其他虚拟机上
我使用的第一种方式安装redis,解压:tar -zxvf redis-3.2.4.tar.gz,得到redis-3.2.4解压包
编译:首先安装依赖 yum install gcc-c++
进入到redis-3.2.4包 cd redis-3.2.4
执行make命令:make
安装(指定安装目录):make install
使用make install不指定安装路径,默认会安装到/usr/local/bin目录下
可以使用PREFIX指定目录,如:make install PREFIX=/usr/local/redis
此时会在/usr/local/redis目录下生在bin目录,在将安装包下的redis.conf复制到/usr/local/redis/bin目录下
此时可以启动redis服务:/usr/local/redis/bin/redis-server (前置启动)
停止:/usr/local/redis/bin/redis-cli shutdown
2、修改配置文件:(使用配置文件来启动,后置启动)
daemonize no将其改为yes |
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf,此时启动为后置启动,
可使用使用netstat -nlpt查看端口
集群配置
#bind 0.0.0.0 #去掉注释或者改成0.0.0.0,默认值为127.0.0.1 protected-mode no #当bind注释掉后将值改成no,默认值 yes appendonly yes #去掉前面的注释,值为yes cluster-enabled yes #去掉前面的注释,默认不启动集群 cluster-config-file nodes-6379.conf #去掉前面的注释 cluster-node-timeout 15000 #去掉前面的注释,值可自己设置 |
3、关闭虚拟机,复制5份后,在虚拟机打开(启动虚拟机之前记得改名),这样6台虚拟机配置一致
4、选择一台虚拟作为主操作机器,可以远程操作其他5台虚拟机(以192.168.3.37为例),即免密登录
a、生成密钥:ssh-kengen -t rsa
b、复制公钥到6台主机中:ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.3.37(36到41)
c、创建启动文件startAllRedis.sh和停止文件stopAllRedis.sh,并修改模式
startAllRedis.sh内容:
ssh root@192.168.3.36 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf |
stopAllRedis.sh
ssh root@192.168.3.36 /usr/local/redis/bin/redis-cli shutdown |
注意:上面配置文件中bind要么不配置,要么配置成0.0.0.0,否则这个命令会失效
chmod 7 startAllRedis.sh
chmod 7 stopAllRedis.sh
这样,执行这两上命令,就可分同时启动或停止6台虚拟机上的redis服务
5、在192.168.3.37上执行集群操作
ruby和gem环境,centos自带2.0版本,满足要求,可以不用再安装
安装redis-3.2.2.gem
下载:wget https://rubygems.org/downloads/redis-3.2.2.gem
安装:gem install redis-3.2.2.gem
将启动的6台redis做集群,执行以下命令
~/redis-3.2.4/src/redis-trib.rb create --replicas 1 192.168.3.36:6379 192.168.3.37:6379 192.168.3.38:6379 192.168.3.39:6379 192.168.3.40:6379 192.168.3.41:6379 |
注意:是安装包redis-3.2.4/src目录下的redis-trib.rb命令(我之前将其复制到其他位置,执行命令老没反应)
6、客户端接入,redis-cli和桌面工具
redis集群官网说明:https://redis.io/topics/cluster-tutorial
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
完