您的位置:首页 > 数据库 > Redis

redis集群(三台机器,三主三从模式)搭建笔记,亲测,详细步骤

2019-06-12 16:15 1626 查看

1.下载redis压缩包并解压

wget http://download.redis.io/releases/redis-3.2.9.tar.gz
tar -zvxf redis-3.2.9.tar.gz

2.安装,在redis-3.2.9目录下执行

make install PREFIX=/home/hadoop/soft/redis-3.2.9(注意后面PREFIX的值为你解压后生成的Redis目录的绝对路径)

执行完后会生成一个在redis-3.2.9目录下会生成一个bin目录,并且deps和src也会更新
3.开始配置
(1)redis-3.2.9目录下创建一个cluster-conf目录,并在cluster-conf目录下创建6380、6381两个目录

[hadoop@masterredis-3.2.9]$ mkdir cluster-config
[hadoop@mastercluster-config]$ mkdir 6380
[hadoop@mastercluster-config]$ mkdir 6381

(2)创建端口目录并修改配置信息,如下

[hadoop@masterredis-3.2.9]$ cp redis.conf ./cluster-config/6380
[hadoop@masterredis-3.2.9]$ cp redis.conf ./cluster-config/6381

分别修改6380、6381目录下redis.conf文件如下内容:
1.端口
port 6380
2.指定日志文件路径
logfile “/home/hadoop/soft/redis-3.2.9/cluster-config/6380/redis.log”
3.指定rdb、aof文件写入路径
dir /home/hadoop/soft/redis-3.2.9/cluster-config/6380/
4.是否开启集群
cluster-enabled yes
5.集群配置文件名称
cluster-config-file nodes-6380.conf
6.超时时间
cluster-node-timeout 15000(默认值)
appendonly yes
(3)将文件复制到其他机器上

[hadoop@mastersoft]$ scp -r redis-3.2.9 root@10.1.1.12:/home/hadoop/soft
[hadoop@mastersoft]$ scp -r redis-3.2.9 root@10.1.1.39:/home/hadoop/soft

(4)启动,先切换到redis的bin目录下分别在三台机器上都执行对应命令,便可启动集群

[hadoop@masterbin]$ ./redis-server /home/hadoop/soft/redis-3.2.9/cluster-config/6380/redis.conf &
[hadoop@masterbin]$ ./redis-server /home/hadoop/soft/redis-3.2.9/cluster-config/6381/redis.conf &

执行完后在终端输入,会看到对应的进程信息,则表示成功启动

[hadoop@masterbin]$ ps -ef|grep redis
hadoop    4046 16759  0 16:00 pts/1    00:00:00 grep redis
hadoop   25805 16759  0 11:48 pts/1    00:00:04 ./redis-server 0.0.0.0:6380 [cluster]
hadoop   25808 16759  0 11:48 pts/1    00:00:04 ./redis-server 0.0.0.0:6381 [cluster]

(5)安装ruby、redis
安装ruby2.3.1版本,建议采用这种方式安装(网上的其他方式基本都会失败,亲测)
第一步:下载安装包到对应目录(wget命令不指定目录 ,则下载到当前目录)

[root@masterruby-2.3.1]$ wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz

第二步:下载成功后解压,并切换到解压后的ruby目录下执行编译与安装:

[root@masterruby-2.3.1]$ ./configure --prefix=
[root@masterruby-2.3.1]$ make && make install

至此2.3.1版本ruby安装完成,输入如下命令,验证ruby是否安装完成

[root@masterruby-2.3.1]$ ruby -v

安装redis

[root@masterruby-2.3.1]$ gem install redis

(6)开启集群在Redis的src目录下执行

[root@mastersrc]# ./redis-trib.rb create --replicas 1 10.1.1.34:6380 10.1.1.34:6381 10.1.1.12:6380 10.1.1.12:6381 10.1.1.39:6380 10.1.1.39:6381

来启动集群
至此集群搭建完成

可跨机器验证集群,例如

[hadoop@slave2 bin]$ ./redis-cli -c -h 10.1.1.39 -p 6381
10.1.1.39:6381>

查看集群状态

[root@mastersrc]# ./redis-trib.rb check 127.0.0.1:6380
>>> Performing Cluster Check (using node 127.0.0.1:6380)
M: a0d41b839bf4f71cd32249587d9d00d571c2ec05 127.0.0.1:6380
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: 0b1fb1ccd3af0a85a75f27b915a96ac832175ee5 10.1.1.12:6380
slots:5461-10922 (5462 slots) master
1 additional replica(s)
M: 2b1c67e00dfab99c46c5ad46b5b5af0a1021ce8e 10.1.1.39:6380
slots:10923-16383 (5461 slots) master
1 additional replica(s)
S: a62ac61543200fdbfd278f9e80e2105ff11d1780 10.1.1.34:6381
slots: (0 slots) slave
replicates 0b1fb1ccd3af0a85a75f27b915a96ac832175ee5
S: 26a7f4214285c39985c9803283f9ac8b39a72ac6 10.1.1.12:6381
slots: (0 slots) slave
replicates a0d41b839bf4f71cd32249587d9d00d571c2ec05
S: b0b2ace762a2210070a444cf8c9b6adf2ae585e1 10.1.1.39:6381
slots: (0 slots) slave
replicates 2b1c67e00dfab99c46c5ad46b5b5af0a1021ce8e
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: