服务器端口说明
vim /etc/hosts
1.下载、解压、编译Redis
$ 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.1 前台启动
简单的测试一下,单机安装就看看2.2,集群咱们直接跳过,看目录4,目录2.2和目录3都是给单机准备的,不做单独写了。
$ cd /usr/local/redis/bin/
$ ./redis-server
显示如下说明安装成功
2.2 后台启动(先别弄,单机可以用)
从 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
如下启动成功
3、设置开机启动(下面要配置集群,这一步先别做)单机单应用推荐使用
添加开机启动服务
[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 #停止开机自启动
4.集群部署前的准备
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个服务都全部启动。
重要的事情说三遍
最后查看三台机器服务情况,添加开机启动重启验证
最后查看三台机器服务情况,添加开机启动重启验证
最后查看三台机器服务情况,添加开机启动重启验证
5.创建集群
redis 4.0集群部署
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
redis 6.0集群部署
开始进行集群部署安装
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
如下展示配置成功,收工回家
新增master节点
我们可以使用add-node命令为Redis Cluster新增master节点,可以看到我们增加的是6679节点,新增成功后,并不会为任何slot提供服务。
新增slave节点
我们也可以用add-node命令新增slave节点,只不过需要加上–cluster-slave参数,并且使用–cluster-master-id指明新增的slave属于哪个master。