redis安装以及集群搭建

mac2025-09-14  18

安装redis需要gcc环境,ruby环境 yum install gcc-c++ yum install ruby yum install rubygems 创建集群需要用到以下名令 gem install redis 注意:这里执行gem需要ruby版本2.2以上(手动安装ruby会有各种各样的问题详情请看结尾) 安装redis 下载redis 解压redis tar -zxvf redis cd redis 编译 ./configure make cd src make install 若看到以下信息,说明安装成功

如果只是想要单机,不存在集群功能,我们现在就可以将Redis运行起来,我们直接在刚刚解压的Redis目录下运行命令就可以将单机的Redis 运行起来 cd /usr/local/redis-3.2.9 redis-server redis.conf 验证是否安装且远程是否可以连接: 参考:https://blog.csdn.net/lsm135/article/details/72472189

https://blog.csdn.net/luckcircle/article/details/78160582?locationNum=9&fps=1 最后用RedisDesktopManager工具远程连接上之后,如下图所示,即redis安装部署完成

集群配置: 集群可以单台服务器以及多台,这里我们使用两台服务器 172.16.201.89 redsi1 172.16.201.90 redis2 这里先在/usr/local下创建文件夹cluster mkdir cluster 在cluret下创建文件夹用来存放节点的文件(redis要求最少需要6个节点,这里配置的是两台服务器,每台服务器3台节点) mkdir 7000 mkdir 7001 mkdir 7002 先将redis文件夹下的redis.conf文件复制到cluret目录下 cp redis.conf /usr/local/cluster 修改配置文件 cd /usr/local/cluster vim redis.conf 修改以下选项: bind填写指定访问ip,最好填写真实ip地址,或者填写0.0.0.0(0.0.0.0默认是全部IP地址可访问,不设置,多台之间无法进行连接) ifconfig -a 查看真实服务器地址

将bind绑定

修改端口号,每个节点端口号不同

进程文件存放地址

指定数据文件存放位置

appendonly yes表示开启守护进程 修改文件存放路径

cluster-enabled yes表示启动集群 cluster-config-file 关联集群配置文件 cluster -node-timeout 设置超时时间

日志文件存放路径,可有可无这里我没配置

将修改后的文件先后复制到节点文件夹内 cp redis.conf /usr/local/cluster/7000 cp redis.conf /usr/local/cluster/7001 cp redis.conf /usr/local/cluster/7002 根据节点修改ip以及端口后和文件存放路径 服务器redis2同样,这里我的端口号分别为7003,7004,7005 接下来将节点启动 进入redis目录下的src目录 cd /usr/local/redis/src 启动节点的命令为redis-server

执行命令: ./redis-server /usr/local/cluster/7000/redis.conf ./redis-server /usr/local/cluster/7001/redis.conf ./redis-server /usr/local/cluster/7002/redis.conf ./redis-server /usr/local/cluster/7003/redis.conf ./redis-server /usr/local/cluster/7004/redis.conf ./redis-server /usr/local/cluster/7005/redis.conf ./redis-server /usr/local/cluster/7006/redis.conf 也可以创建shell脚本进行批量执行 vim startall.sh 将下面命令写入: cd /usr/local/redis/src ./redis-server /usr/local/cluster/700X/redis.conf 然后给文件加上权限,执行 chmod 777 startall.sh ./startall 执行netstat -tnulp | grep redis和ps aux | grep redis查看节点是否启动

同时节点文件夹会生成相应的文件

接下来将redis1和redis2服务器上的节点做成集群 在两台机器的redis的src目录下执行(可使用xshell自带功能

) ./redis-trib.rb create --replicas 1 192.168.111.98:7000 192.168.111.98:7001 192.168.111.98:7002 192.168.111.99:7003 192.168.111.99:7004 192.168.111.99:7005

我们选择yes,意思是服从这种主从分配方式,我们也可以通过配置文件自己指定slave

这里集群就配置完成。 集群测试: 通过连接任一redis端口,添加数据,在redis的src下执行 redis-cli -p 7001 -c redis-cli -c -h 127.0.0.1 -p 7001 shutdown //关闭集群,如果没有-h参数,默认连接127.0.0.1,如果没有-p参数,默认连接6370端口(所有如果用默认的,就没有-h -p) 说明:-h+host –p+端口号 –c 是要连接集群,注意坑,不加会报错的

可以看到连接的是7001的节点,set name的时候计算了存在哪个hash槽上,会跳转到那个槽对应的节点 问题汇总: 在执行创建集群命令时./redis-trib.rb create --replicas 1 192.168.111.98:7000 192.168.111.98:7001 192.168.111.98:7002 192.168.111.99:7003 192.168.111.99:7004 192.168.111.99:7005 遇到gem报错时,说明需要使用命令gem install redis 安装不成功会提示版本要求不符合的命令,这里我们删除yum安装的低版本ruby进行手动安装 现在版本符合要求的包进行解压 curl -O -L https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.7.tar.gz tar -zxvf ruby-2.2.7 ./configure –-prefix=/usr/local/ruby (这里路径指定,可自行创建) make make install 配置软连接 ln -s /usr/local//ruby /usr/bin/ruby 再次执行gem命令 有时会提示:

这里先使用yum安装zlib,进入ruby下 cd /home/ruby/ext/zlib ruby extconf.rb make && make install 接下来可能报错,需要修改Makefile文件

将文件内$(top_srcdir)/include/ruby.h修改为…/…/include/ruby.h 再次执行make&make install 继续执行命令:gem install redis 又出现了错误,原来我们还需要安装OpenSSL,因为Redis集群交互是需要OpenSSL

同样,yum下载openssl 进入ruby文件下 cd /usr/local/ruby/ext/openssl ruby extconf.rb make && make install make 之前同样将生成的Makefile文件中的$(top_srcdir)/include/ruby.h修改为…/…/include/ruby.h 继续执行命令:gem install redis 成功

最新回复(0)