我将redis安装到 /usr/local/目录下,下载redis包,我这里用的redis-4.0.9版本。
下载地址:https://redis.io/
上传安装包到/usr/local/:
然后解压,我这里就不看解压过程了:
tar -zxf redis-4.0.9.tar.gz
然后我们进入安装的redis目录下,进行编译安装:这里会出现一个错误,下面我会解决这个问题。
出现以下错误:因为缺少依赖包gcc的相关依赖包。
然后我们在进行依赖包安装:
yum install gcc*
然后再进行编译,发现还是错误,这是因为你已经编译过了,存在编译了的文件
然后返回上一级删除你解压的redis文件,重新解压一个,再进行编译。
cd ..
rm -rf redis-4.0.9
tar -zxf redis-4.0.9.tar.gz
cd redis-4.0.9
make && make install
成功信息:
然后我们要开启端口号 6379,16379;
查看防火墙状态:
systemctl status firewalld
开启状态:
然后开启端口号:
firewall-cmd --permanent --zone=public --add-port=6379/tcp
firewall-cmd --permanent --zone=public --add-port=16379/tcp
然后重启防火墙:
systemctl restart firewalld
然后修改配置文件:
vi redis.conf
修改以下信息:然后保存。
#端口:
port 6379
#默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
bind 192.168.131.139
#redis后台运行
daemonize yes
#pidfile文件对应6379
pidfile /var/run/redis_6379.pid
#开启集群 把注释#去掉
cluster-enabled yes
#集群的配置 配置文件首次启动自动生成 6379 把注释#去掉
cluster-config-file nodes_6379.conf
#请求超时 默认15秒,可自行设置
cluster-node-timeout 15000
#设置密码
requirepass guest
然后启动redis:
src/redis-server redis.conf
查询reids端口情况:
ps aux | grep redis
然后用Redis Desktop Manager连接:
关闭reids,我们直接杀这个进程。
kill -9 1303
然后我们准备安装集群的环境:
1.Redis-trib.rb 需要ruby环境,先安装ruby环境
yum -y install zlib ruby rubygems
成功信息:
然后升级版本:
gem update --system
然后安装redis
gem install redis
出现错误,以下版本过低:Ruby至少需要2.2.2版本以上。
然后我们吧Ruby进行升级:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
find / -name rvm -print
source /usr/local/rvm/scripts/rvm
查看rvm库中已知的ruby版本:
rvm list known
我们选择最新版本2.4.1,设置成默认。
rvm install 2.4.1
使用安装的版本:
rvm use 2.4.1
设置默认版本:
rvm use 2.4.1 --default
查看版本:
ruby --version
安装redis:
gem install redis
然后关闭虚拟机,我们进行克隆,因为redis集群需要6个节点(redis集群要求最小3主3从),所以还需要克隆5台,或者是你开其它的端口来充当,由于我的电脑比较刚,那就直接复制5台。
复制的5台修改修改以下信息:如果说你复制的5台,IP分别是:192.168.131.140,192.168.131.141,192.168.131.142,192.168.131.143,192.168.131.144;那么你要将你复制的虚拟机的redis。
修改你的这个IP,改成你本机的IP:
bind 192.168.131.139
然后就启动redis,每台都要启动:
cd /usr/local/redis/
src/redis-server redis.conf
启动集群,再安装的redis的目录下:
src/redis-trib.rb create --replicas 1 192.168.131.139:6379 192.168.131.140:6379 192.168.131.141:6379 192.168.131.142:6379 192.168.131.143:6379 192.168.131.144:6379
重新启动出现错误:
可能是密码设置没有对;要找到 client.rb这个配置文件,路径/usr/local/rvm/gems/ruby-2.4.1/gems/redis-4.0.1/lib/redis/client.rb,因为我们上面是安装的ruby2.4.1版本。
find / -name ruby
找到 :password => nil,把nil改为"guest"
找到 :password => nil,把nil改为"guest"
vi /usr/local/rvm/gems/ruby-2.4.1/gems/redis-4.0.1/lib/redis/client.rb
如果是正式环境可以先修复
redis-trib.rb fix 192.168.131.139:6379
把单节点全部关掉,先备份,先备份,先备份,重要的事情说3边。然后删除 dump.rdb; nodes-6379.conf; appendonly.aof。
rm -rf dump.rdb nodes-6379.conf appendonly.aof
然后重启