Redis-3.2.9 集群安装

本文档详细介绍了如何在CentOS7.4环境下,由于YUM库中的Ruby版本过旧,手动下载、编译安装Ruby 2.6.5,然后通过gem安装Redis 3.2.2,接着编译安装Redis 3.2.9,并配置为集群环境的步骤。整个过程包括了环境变量设置、配置文件修改、启动和关闭脚本创建以及集群的创建和验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作系统    :Centos 7.4
ruby版本   :ruby-2.6.5   -- CentOS7 yum库中ruby的版本支持到 2.0.0,但是gem安装redis需要最低是2.3.0
redis版本  :redis-3.2.9 

0、安装 gcc,make
# yum install gcc-c++ make wget 
 
1、下载、编译安装ruby
您可以在这里:https://www.ruby-lang.org/zh_cn/downloads/下载最新的 Ruby 发行版。
目前最新的稳定版本是 2.7.0,但建议使用2.6.5

1)下载:
# wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0.tar.gz  ##此版本在Centos7.4上报openssl错 cannot load such file -- openssl (LoadError)                  
# wget https://cache.ruby-lang.org/pub/ruby/ruby-2.6-stable.tar.gz ## 此版本在Centos7.4上正常安装

# wget https://rubygems.org/downloads/redis-3.2.2.gem              ## 本次使用这个
# wget https://rubygems.org/downloads/redis-4.1.3.gem

2)解压,编译安装:
# tar zxvf ruby-2.7.0.tar.gz
# cd ruby-2.7.0
#####  ./configure --prefix=/usr/local/ruby --with-openssl-dir=/usr/local/openssl --with-zlib-dir=/usr/local/zlib
# ./configure --prefix=/usr/local/ruby       ## --默认情况下,Ruby 安装到 /usr/local 目录
# make 
# make install

3)添加ruby到环境变量
# vi /etc/profile        ## 在文件的最末尾加上下列代码
cat /etc/profile
echo "export RUBY_HOME=/usr/local/ruby" >> /etc/profile
echo "export PATH=\$PATH:\$RUBY_HOME/bin" >> /etc/profile

## 生效:
source /etc/profile
env|grep ruby

2、gem安装redis -- 直接下载redis-3.2.2.gem,然后安装
# wget https://rubygems.org/downloads/redis-3.2.2.gem
# gem install /root/redis-3.2.2.gem

[root@server01 ~]# gem install redis-3.2.2.gem
Successfully installed redis-3.2.2
Parsing documentation for redis-3.2.2
Installing ri documentation for redis-3.2.2
Done installing documentation for redis after 0 seconds
1 gem installed


3、下载、安装、配置redis
1)下载:
http://download.redis.io/releases/
# wget http://download.redis.io/releases/redis-3.2.9.tar.gz

2)解压: --解压到当前目录
tar -zxvf redis-3.2.9.tar.gz
cd redis-3.2.9/src

3)编译安装到 /opt/redis-3.2.9 ,会在这个目录下生成 bin 目录,里面就会有编译好的运行文件
cd redis-3.2.9/src
make install PREFIX=/opt/redis-3.2.9

编译安装完成后,测试:
cd /opt/bosssoft/redis-3.2.9/src
make test

4)配置文件修改  -- 在解压目录里
cp ~/redis-3.2.9/redis.conf /opt/redis-3.2.9/bin

vi /opt/redis-3.2.9/bin/redis.conf

# 设置密码:
# requirepass foobared      ## redis-trib.rb 创建集群不支持密码。不要设置

# 设置参数 :
protected-mode no    ## For redis 集群,需要设置为no 
daemonize yes        ## 从 no 改为yes ,以守护进程启动
# bind 127.0.0.1     ## 注释掉
port 7701            ## 默认为:6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes


5)设置环境变量: 
# vi /etc/profile  加入:
cat /etc/profile
echo "export REDIS_HOME=/opt/redis-3.2.9" >> /etc/profile
echo "export PATH=\$REDIS_HOME/bin:\$PATH" >> /etc/profile

## 生效:
source /etc/profile
env | grep redis-
 

4、配置redis集群环境
1)在redis目录下新建cluster文件夹。在cluster目录下新建redis-7701 ~ redis-7706 六个目录

mkdir -p /opt/redis-3.2.9/cluster
cd /opt/redis-3.2.9/cluster
mkdir redis-7701 redis-7702 redis-7703 redis-7704 redis-7705 redis-7706

2)将前面步骤中安装好的/opt/redis-3.2.9/bin目录,与修改好的redis.conf文件拷贝到这六个目录下。

cd /opt/redis-3.2.9/cluster
cp -rp /opt/redis-3.2.9/bin/* redis-7701
cp -rp /opt/redis-3.2.9/bin/* redis-7702
cp -rp /opt/redis-3.2.9/bin/* redis-7703
cp -rp /opt/redis-3.2.9/bin/* redis-7704
cp -rp /opt/redis-3.2.9/bin/* redis-7705
cp -rp /opt/redis-3.2.9/bin/* redis-7706

3)修改redis.conf文件
将文件中的port修改成与文件夹名字相同的号码

grep "port 770" /opt/redis-3.2.9/cluster/*/redis.conf
sed -i "s/port 7701/port 7702/" /opt/redis-3.2.9/cluster/redis-7702/redis.conf
sed -i "s/port 7701/port 7703/" /opt/redis-3.2.9/cluster/redis-7703/redis.conf
sed -i "s/port 7701/port 7704/" /opt/redis-3.2.9/cluster/redis-7704/redis.conf
sed -i "s/port 7701/port 7705/" /opt/redis-3.2.9/cluster/redis-7705/redis.conf
sed -i "s/port 7701/port 7706/" /opt/redis-3.2.9/cluster/redis-7706/redis.conf
grep "port 770" /opt/redis-3.2.9/cluster/*/redis.conf

4)创建启动、停止脚本
创建redis集群启动脚本 :
# vi /opt/redis-3.2.9/cluster/start_all.sh   # 加入:

cd /opt/redis-3.2.9/cluster/redis-7701
./redis-server redis.conf
cd ..
cd redis-7702
./redis-server redis.conf
cd ..
cd redis-7703
./redis-server redis.conf
cd ..
cd redis-7704
./redis-server redis.conf
cd ..
cd redis-7705
./redis-server redis.conf
cd ..
cd redis-7706
./redis-server redis.conf
cd ..
ps -ef |grep redis-server

创建关闭集群的脚本:
# vi /opt/redis-3.2.9/cluster/shutdown_all.sh       # 加入:

/opt/redis-3.2.9/cluster/redis-7701/redis-cli -p 7701 shutdown
/opt/redis-3.2.9/cluster/redis-7702/redis-cli -p 7702 shutdown
/opt/redis-3.2.9/cluster/redis-7703/redis-cli -p 7703 shutdown
/opt/redis-3.2.9/cluster/redis-7704/redis-cli -p 7704 shutdown
/opt/redis-3.2.9/cluster/redis-7705/redis-cli -p 7705 shutdown
/opt/redis-3.2.9/cluster/redis-7706/redis-cli -p 7706 shutdown


## 加权限:
chmod +x /opt/redis-3.2.9/cluster/start_all.sh
chmod +x /opt/redis-3.2.9/cluster/shutdown_all.sh

ps -ef |grep redis-server

## 启动:
/opt/redis-3.2.9/cluster/start_all.sh
 
## 检查:
# ps -ef |grep redis-server
root     14664     1  0 21:05 ?        00:00:00 ./redis-server *:7701 [cluster]
root     14676     1  0 21:07 ?        00:00:00 ./redis-server *:7702 [cluster]
root     14678     1  0 21:07 ?        00:00:00 ./redis-server *:7703 [cluster]
root     14680     1  0 21:07 ?        00:00:00 ./redis-server *:7704 [cluster]
root     14684     1  0 21:07 ?        00:00:00 ./redis-server *:7705 [cluster]
root     14686     1  0 21:07 ?        00:00:00 ./redis-server *:7706 [cluster]
root     14697  1322  0 21:07 pts/0    00:00:00 grep --color=auto red


5、创建redis集群
# cd /root/redis-3.2.9/src
# /root/redis-3.2.9/src/redis-trib.rb create --replicas 1 192.168.56.131:7701 192.168.56.131:7702 192.168.56.131:7703 192.168.56.131:7704 192.168.56.131:7705 192.168.56.131:7706
 
详细输出请查看:redis-trib.rb create --replicas 1 


输入命令查看集群节点状态   -c 表示登陆集群
# redis-cli -c -p 7701
127.0.0.1:7700> cluster info 
127.0.0.1:7700> cluster nodes 


[root@server01 ~]# redis-cli -c -p 7701
127.0.0.1:7701> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:2055
cluster_stats_messages_received:2055
127.0.0.1:7701>
127.0.0.1:7701> cluster nodes
09127b80aaba93d609750c720642e474bfef0fd3 192.168.56.131:7704 slave 254bebedbae644646c241fb46910425afbcb6513 0 1577627928163 4 connected
254bebedbae644646c241fb46910425afbcb6513 192.168.56.131:7701 myself,master - 0 0 1 connected 0-5460
1b05deb4cc186ddab10e175d04ab99a9b03dde3b 192.168.56.131:7705 slave 84d57adcd1f8cb4ac6131dfc73e0714befc58a8a 0 1577627929679 5 connected
6efb72115adea7a7fd73288b96065eab0881cd6b 192.168.56.131:7703 master - 0 1577627928530 3 connected 10923-16383
84d57adcd1f8cb4ac6131dfc73e0714befc58a8a 192.168.56.131:7702 master - 0 1577627930601 2 connected 5461-10922
e3474cf447ae5e4e0e051219d1facd6011a153e3 192.168.56.131:7706 slave 6efb72115adea7a7fd73288b96065eab0881cd6b 0 1577627929578 6 connected
127.0.0.1:7701>
 

至此,集群安装完成,这是在一个台机器上搭建的,
同理在多台服务器上也是如此,换一下ip即可
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值