一、安装redis单机(略)
二、安装redis-cluster
1、新建文件夹redis-cluster
2、将单机redis的bin目录拷到新建的文件夹
3、新建集群ip对应文件夹(以我本地192.168.1.160为例),新建redis-160-01和redis-160-02文件夹
mkdir redis-160-01
mkdir redis-160-02
4、将目录redis-benchmark、redis-check-aof、redis-check-rdb、redis-cli、redis.conf、redis-sentinel、redis-server拷至新文件夹:
cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis.conf redis-sentinel redis-server redis-160-01/
cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis.conf redis-sentinel redis-server redis-160-02/
5、编辑redis.conf文件:
port 7000 #端口7000,7001,7002,7003,7004,7005
cluster-enabled yes #开启集群
cluster-config-file nodes.conf #集群配置信息,开启集群后自动生成
cluster-node-timeout 5000 #请求超时时长
appendonly yes #开启aof日志,它会每次写操作都记录一条日志
daemonize yes #redis后台运行
bind 192.168.100.21 #默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
pidfile /opt/module/redis-Cluster/7000/redis_7000.pid #pidfile文件对应7000,7001,7002,7003,7004,7005
dir /opt/module/redis-Cluster/7000/ #数据文件存放位置对应7000,7001,7002,7003,7004,7005(查找内容直接输入”/内容”)
6、启动节点
cd /opt/redis-cluster/redis-160-01/
./redis-server redis.conf
cd /opt/redis-cluster/redis-160-02/
./redis-server redis.conf
cd /opt/redis-cluster/redis-177-01/
./redis-server redis.conf
cd /opt/redis-cluster/redis-177-02/
./redis-server redis.conf
cd /opt/redis-cluster/redis-230-01/
./redis-server redis.conf
cd /opt/redis-cluster/redis-230-02/
./redis-server redis.conf
7、确认进程已成功启动:
三、安装ruby
1、检查之前是否已存在其它ruby版本,如存在,先卸载:
yum remove ruby
2、下载ruby2.5.3:
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz
3、解压
tar zxvf ruby-2.5.3.tar.gz
4、安装ruby
cd ruby-2.5.3
指定安装路径
./configure --prefix=/opt/ruby
执行make
make
然后在执行make install
make install
5、检查
./ruby -v
能看到版本号,说明已安装成功。
6、配置ruby启动参数
echo "export PATH=$PATH:/opt/ruby/bin" >> /etc/profile
source /etc/profile
echo $PATH
四、启动集群
1、进到集群服务器(三台),执行:
gem install redis
2、进入160服务器,执行以下命令:
/opt/redis/src/redis-trib.rb create --replicas 1 192.168.1.160:10001 192.168.1.160:10002 192.168.1.177:10003 192.168.1.177:10004 192.168.1.230:10005 192.168.1.230:10006
启动完毕,测试:
10001从10005取到foo的value值,成功!