vim /etc/hosts

- $ mkdir -p /opt/redis && cd /opt/redis
- $ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
- $ tar xzf redis-6.0.6.tar.gz
请先检查gcc的版本是否低于5,如果是请先升级,可以使用以下命令:
gcc --version

执行如下代码进行更新
- $ sudo yum install centos-release-scl
- $ sudo yum install devtoolset-7-gcc*
- $ scl enable devtoolset-7 bash
若上面命令执行没有相关包则手动下载版本更新
yum install gcc -y yum install gcc-c++ -y yum install bzip2 cd /tmp wget http://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz tar xvf gcc-7.5.0.tar.gz cd gcc-7.5.0 ./contrib/download_prerequisites (下载较慢,成功会有提示) mkdir build cd build/ ../configure --prefix=/usr/local/gcc7 --enable-languages=c,c++,go --disable-multilib make make install mv /usr/bin/gcc /usr/bin/gcc-4.8.5 ln -s /usr/local/gcc7/bin/gcc /usr/bin/gcc mv /usr/bin/g++ /usr/bin/g++-4.8.5 ln -s /usr/local/gcc7/bin/g++ /usr/bin/g++
编译安装Redis
- $ cd /opt/redis/redis-6.0.6/
- $ make
- $ make install PREFIX=/usr/local/redis #安装到指定目录中
简单的测试一下,单机安装就看看2.2,集群咱们直接跳过,看目录4,目录2.2和目录3都是给单机准备的,不做单独写了。
- $ cd /usr/local/redis/bin/
- $ ./redis-server
显示如下说明安装成功

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
$ cp /opt/redis/redis-6.0.6/redis.conf /usr/local/redis/bin/
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
- $ cd /usr/local/redis/bin/
- $ vim redis.conf

$ ./redis-server redis.conf
如下启动成功

添加开机启动服务
[root@localhost bin]# vi /etc/systemd/system/redis.service
复制粘贴以下内容:
[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target
设置开机启动
- [root@localhost bin]# systemctl daemon-reload
- [root@localhost bin]# systemctl start redis.service
- [root@localhost bin]# systemctl enable redis.service
- # 创建 redis 命令软链接
- [root@localhost ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
- #测试 redis
- [root@localhost ~]# redis

服务操作命令
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
- 1.复制redis_init_script,重命名为redis_7001
- $ cp /opt/redis/redis-6.0.6/utils/redis_init_script /etc/init.d/redis_7001
- 2.创建两个文件夹
- $ mkdir -p /etc/redis(存放redis的配置文件)
- $ mkdir -p /var/redis/7001(存放redis的持久化文件)
- $ mkdir -p /var/log/redis (存放redis的日志文件)
- 3.修改redis_7001配置文件
- 3.1 redis_7001端口号,修改redis_7001脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379,设置为7001)
- 3.2 修改安装目录执行文件路径
- $ vim /etc/init.d/redis_7001

- 4.复制Redis.conf拷贝到/etc/redis目录中,修改名称为7001.conf
-
- $ cp /opt/redis/redis-6.0.6/redis.conf /etc/redis/7001.conf
- 5.修改配置文件
-
- $ vim /etc/redis/7001.conf
- ·port 7001
- ·cluster-enabled yes
- ·cluster-config-file /etc/redis/node-7001.conf(注意:这喵的不是配置文件地址,需要,这是节点配置文件,可以放在其他位置,但是不能写配置文件7001.conf)
- ·cluster-node-timeout 15000
- ·daemonize yes
- ·pidfile /var/run/redis_7001.pid
- ·dir /var/redis/7001
- ·logfile /var/log/redis/7001.log
- ·bind 0.0.0.0
- ·appendonly yes
- 6.启动redis,执行
- $ cd /etc/init.d
- $ chmod 777 redis_7001
- $ ./redis_7001 start
- 7.最后在执行
- chkconfig让节点主机重启直接启动
- $ cd /etc/init.d/
- $ chkconfig redis_7001 on
-
- $ shutdown -r now #重启检查
- $ ps aux|grep redis

重复上面的步骤,分别做出6份配置文件:
7001.conf,7002.conf,7003.conf,7004.conf,7005.conf,7006.conf
redis_7001,redis_7002,redis_7003,redis_7004,redis_7005,redis_7006
分别重启后先检查下redis状态是不是6个服务都全部启动。
重要的事情说三遍
最后查看三台机器服务情况,添加开机启动重启验证
最后查看三台机器服务情况,添加开机启动重启验证
最后查看三台机器服务情况,添加开机启动重启验证



redis 4.0版本安装集群需要Ruby命令,因此我们需要安装下Ruby,在集群机器中随便找一台执行即可,直接通过yum安装的ruby版本太低,不能满足redis、fpm等软件的需求。我上面安装的是6.0版本,这里记录一下4.0版本安装的过程。
和我一起做安装6.0的小伙伴看这里 redis 6.0集群部署
我们安装最新的版本的ruby,下载地址 Download Ruby
- #安装依赖包
- $ yum -y install openssl-devel make
- $ sudo yum install centos-release-scl
- $ sudo yum install devtoolset-7-gcc*
- $ scl enable devtoolset-7 bash
- $ mkdir -p /opt/ruby && cd /opt/ruby
- $ wget https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz
- $ tar -zxvf ruby-3.0.0.tar.gz
- $ cd ruby-3.0.0/
- $ ./configure --prefix=/usr/local/ruby
- $ make
- $ make install
- #添加环境变量
- $ echo "PATH=$PATH:/usr/local/ruby/bin" >> /etc/bashrc
- $ source /etc/bashrc
- #替换gem源
- #这个我没有做这个源添加不上去
- $ gem sources -l #查看当前源
- $ gem sources -a http://gems.ruby-china.com/ #增加源
- $ gem sources --remove https://rubygems.org/ #删除原有源
- $ cp /opt/redis/redis-6.0.6/src/redis-trib.rb /usr/local/bin/redis-trib.rb
- $ cd /usr/local/bin/
- $ redis-trib.rb create --replicas 1 192.168.32.128:7001 192.168.32.128:7002 192.168.32.129:7003 192.168.32.129:7004 192.168.32.130:7005 192.168.32.130:7006
开始进行集群部署安装
- 6.0版本redis按照4.0配置的小伙伴看看这里
- WARNING: redis-trib.rb is not longer available!
-
- 今天安装redis centos7集群的时候 没有注意redis-trib.rb脚本的内容,使用时报上面的警告,原因是因为redis5.0以后使用redis-cli作为创建集群的命令,使用c语言实现,不再使用ruby语言。所以上面的ruby可能是不需要了
-
- 使用下面命令创建集群
- $cd /opt/redis/redis-6.0.6/src
- $ ./redis-cli --cluster create 192.168.32.128:7001 192.168.32.128:7002 192.168.32.129:7003 192.168.32.129:7004 192.168.32.130:7005 192.168.32.130:7006 --cluster-replicas 1

连接到任一一个节点上面使用命令查看集群信息
/usr/local/redis/bin/redis-cli -h 192.168.32.130 -p 7005 -c
- cluster info
- cluster nodes
- 如下展示配置成功,收工回家


我们可以使用add-node命令为Redis Cluster新增master节点,可以看到我们增加的是6679节点,新增成功后,并不会为任何slot提供服务。

我们也可以用add-node命令新增slave节点,只不过需要加上–cluster-slave参数,并且使用–cluster-master-id指明新增的slave属于哪个master。