1、安装redis(每台实例都是相同操作)
redis安装在Linux上,redis是c语言开发的,需要依赖以下环境。
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
#如果安装过则不会执行(没有规则可以创建目标“gcc-c++”。 停止)
make gcc-c++ libstdc++-devel tcl
#进入root目录,上传压缩包
cd /root
使用rz 上传“redis-4.0.10.tar.gz”
#解压安装包并进入解压的文件夹
tar -xzvf redis-4.0.10.tar.gz
rm -rf redis-4.0.10.tar.gz
cd redis-4.0.10
#执行安装,指定安装路径
make install PREFIX=make install PREFIX=/usr/local/redis
#查看安装目录
cd /usr/local/redis/bin
#从安装包中复制redis.conf文件到/usr/local/redis/bin中
cp /root/redis-4.0.10/redis.conf ./
#修改redis.conf配置文件
vim redis.conf
# 设置后台启动redis,修改如下,默认为no (136行)
daemonize yes
# 设置不仅限制本地访问 (69行)
注释掉 bind 127.0.0.1
# 禁用保护模式 (88行),因为其它服务器需要访问
把 protected-mode yes 改为 protected-mode no
#对外开放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#重启防火墙
firewall-cmd --reload
# 查看已经开放的端口
firewall-cmd --list-ports
2、安装redis集群(每台实例都是相同操作)
2.1安装环境
redis集群的管理工具使用的是ruby脚本语言,安装集群需要ruby环境
# 安装ruby环境
yum -y install ruby
# 安装ruby的打包系统
yum -y install rubygems
# 安装redis-4.0.2.gem的ruby接口库
cd /root
使用rz 上传“redis-4.0.2.gem”
# 安装
gem install redis-4.0.2.gem
# 安装rvm
1、首先安装rvm安装会使用的包:
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
# 安装rvm
curl -L get.rvm.io | bash -s stable
# rvm立即有效
source /usr/local/rvm/scripts/rvm
# 查看rvm库中已知的ruby版本
rvm list known
# 安装一个ruby版本
rvm install 2.5.1
# 使用一个ruby版本
rvm use 2.5.1
# 查看ruby版本
ruby --version
# 查看ruby版本
ruby --version
# 卸载一个已知版本
rvm remove 2.0.0
# 再次安装redis-4.0.2.gem
gem install redis-4.0.2.gem
3、安装redis集群(每台实例都是相同操作)
#需要修改每个实例的redis.conf配置文件,开启redis-cluster
cd /usr/local/redis/bin
vim redis.conf
# 取消第814行注释(设置集群可用): cluster-enabled yes
# 需要修改其它5个节点;同样修改
# 重启redis实例
./redis-server redis.conf
#查看启动
ps -ef | grep redis
#开放集群总线端口为16379
#对外开放16379端口
firewall-cmd --zone=public --add-port=16379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
#重启防火墙
firewall-cmd --reload
# 查看已经开放的端口
firewall-cmd --list-ports
4、集群创建(任意一台,推荐在第一台主节点服务器上操作)
# 先进入集群管理工具所在的路径
cd /root/redis-4.0.10/src/
# 执行创建命令
./redis-trib.rb create --replicas 1 192.168.111.110:6379 192.168.111.112:6379 192.168.111.114:6379 192.168.111.115:6379 192.168.111.111:6379 192.168.111.113:6379
error问题
1、出现了in `call’: ERR Slot 8579 is already busy (Redis::CommandError)
错误提示是
slot插槽被占用了(这是 搭建集群前时,以前redis的旧数据和配置信息没有清理干净。)
解决方案是
用redis-cli 登录到每个节点执行 flushall 和 cluster reset 就可以了。
然后重新执行群集脚本命令:
# 执行创建命令
./redis-trib.rb create --replicas 1 192.168.111.110:6379 192.168.111.112:6379 192.168.111.114:6379 192.168.111.115:6379 192.168.111.111:6379 192.168.111.113:6379
开机自启
mkdir /etc/redis
cp /usr/local/redis/bin/redis.conf /etc/redis/6379.conf
cp /root/redis-4.0.10/utils/redis_init_script /etc/init.d/redisd
设置脚本权限
chmod +x /etc/init.d/redisd
3:设置开机启动
sudo chkconfig redisd on
4:使用方法
service redisd start #或者 /etc/init.d/redisd start
service redisd stop #或者 /etc/init.d/redisd stop
****