redis-cluster集群安装(基于redis-3.2.10)

时间:2022-05-17 21:11:32

上节主要演示了redis单节点的安装部署,对于数据量更大的服务可以安装redis-cluster进行处理

1. 安装ruby

yum install ruby ruby-devel rubygems rpm-build -y
rpm -qa|grep ruby
ruby -v

2.安装redis-cluster

gem install redis --version 3.2.
gem list

3.到redis源码目录找到集群创建工具

/bin/cp /server/tools/redis-3.2./src/redis-trib.rb /usr/local/redis/bin/

4.创建redis-cluster集群节点

(1)创建节点目录,修改配置文件

[root@redis-server tools]# mkdir -p /usr/local/redis/redis-cluster/{7001,7002,7003}
cluster-enabled yes
cluster-config-file /usr/local/redis/redis-cluster//nodes-.conf
cluster-node-timeout
appendonly yes
[root@redis-server tools]# sh -x add_redis-cluster-port_rc.sh
+ echo '------ Start Create redis-cluster ------'
------ Start Create redis-cluster ------
+ redisport1=
+ redisport2=
+ redisport3=
+ redis_path=/usr/local/redis
+ redis_cluster_path=/usr/local/redis/redis-cluster
++ grep -v 127.0.0.1
++ grep -v inet6
++ grep inet
++ awk '{print $2}'
++ /sbin/ifconfig -a
++ tr -d addr:
+ localIP=192.168.1.71
+ '[' -z ']'
+ echo 'The redis-port is 8001'
The redis-port is
+ '[' -z ']'
+ echo 'The redis-port is 8002'
The redis-port is
+ '[' -z ']'
+ echo 'The redis-port is 8003'
The redis-port is
+ echo /usr/local/redis/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
/usr/local/redis/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
+ sleep
+ mkdir -p /usr/local/redis/redis-cluster/ /usr/local/redis/redis-cluster/ /usr/local/redis/redis-cluster/
+ cd /server/tools/
+ /bin/cp democonf_redis-cluster_6379.conf /usr/local/redis/redis-cluster//conf-.conf
+ sed -i s###g /usr/local/redis/redis-cluster//conf-.conf
+ /bin/cp democonf_redis-cluster_6379.conf /usr/local/redis/redis-cluster//conf-.conf
+ sed -i s###g /usr/local/redis/redis-cluster//conf-.conf
+ /bin/cp democonf_redis-cluster_6379.conf /usr/local/redis/redis-cluster//conf-.conf
+ sed -i s###g /usr/local/redis/redis-cluster//conf-.conf
+ tree /usr/local/redis/redis-cluster
/usr/local/redis/redis-cluster
├──
│   └── conf-.conf
├──
│   └── conf-.conf
└──
└── conf-.conf directories, files
+ echo '------ Start redis-cluster nodes ------'
------ Start redis-cluster nodes ------
+ sleep
+ /usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster//conf-.conf
+ /usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster//conf-.conf
+ /usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster//conf-.conf
++ date +%F
+ echo '# redis-cluster-port for 8001,8002,8003 in 2017-09-21'
+ echo '/usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster/8001/conf-8001.conf'
+ echo '/usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster/8002/conf-8002.conf'
+ echo '/usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster/8003/conf-8003.conf'
+ tail - /etc/rc.local
tail: 无法使用 inotify 机制,回归为 polling 机制
# redis-cluster-port for ,, in --
/usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster//conf-.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster//conf-.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis-cluster//conf-.conf
+ echo '------ Create redis-cluster ------'
------ Create redis-cluster ------
+ sleep
+ /usr/local/redis/bin/redis-trib.rb create --replicas 192.168.1.71: 192.168.1.71: 192.168.1.71:
>>> Creating cluster
Connecting to node 192.168.1.71:: OK
Connecting to node 192.168.1.71:: OK
Connecting to node 192.168.1.71:: OK
>>> Performing hash slots allocation on nodes...
Using masters:
192.168.1.71:
192.168.1.71:
192.168.1.71:
M: 97ca887459268c2effca0af3263dcd00e83cae37 192.168.1.71:
slots:- ( slots) master
M: e43cda13f069241a25786bb4916e21e7e8a5e1d5 192.168.1.71:
slots:- ( slots) master
M: 53383a751348ed8bd2ec88fd487ada344c7a7bc8 192.168.1.71:
slots:- ( slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.
>>> Performing Cluster Check (using node 192.168.1.71:)
M: 97ca887459268c2effca0af3263dcd00e83cae37 192.168.1.71:
slots:- ( slots) master
M: e43cda13f069241a25786bb4916e21e7e8a5e1d5 192.168.1.71:
slots:- ( slots) master
M: 53383a751348ed8bd2ec88fd487ada344c7a7bc8 192.168.1.71:
slots:- ( slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All slots covered.
+ echo '------ Test redis-cluster ------'
------ Test redis-cluster ------
+ sleep
+ grep --color=auto redis-server
+ netstat -anptl
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
tcp 192.168.1.71: 192.168.1.71: ESTABLISHED /redis-server
+ /usr/local/redis/bin/redis-cli -c -p
127.0.0.1:> exit
+ echo '------ Create redis-cluster is OK! ------'
------ Create redis-cluster is OK! ------
[root@zstest1 tools]#