干了一下午的redis cluster集群的搭建
Posted 背井
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干了一下午的redis cluster集群的搭建相关的知识,希望对你有一定的参考价值。
1、第一台机器【172.16.198.138】
1.1、创建4个目录
[root@emooco ~]# mkdir -p /etc/redis-cluster
[root@emooco ~]# mkdir -p /var/log/redis
[root@emooco ~]# mkdir -p /var/redis/7001
[root@emooco ~]# mkdir -p /var/redis/7002
/etc/redis-cluster:存放配置文件的redis.conf
/var/log/redis:存放日志文件的
/var/redis/7001和7002: 存放快照文件的
1.2、从redis安装目录复制redis.conf到/etc/redis目录下
命令
[root@emooco redis-6.0.6]# cp redis.conf /etc/redis/7001.conf
[root@emooco redis-6.0.6]# cd /etc/redis
图解
以上得到了7001.conf配置文件
1.3、再复制一份7002的配置文件
命令
[root@emooco redis]# cp 7001.conf ./7002.conf
图解
上图可以得到了7002.conf配置文件
1.4、修改7001.conf
配置文件
port 7001
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7001.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7001.pid
dir /var/redis/7001
logfile /var/log/redis/7001.log
bind 172.16.198.138
appendonly yes
1.5、修改7002.conf
配置文件
port 7002
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7002.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7002.pid
dir /var/redis/7002
logfile /var/log/redis/7002.log
bind 172.16.198.138
appendonly yes
1.6、配置redis的开机自动启动脚本
1.6.1、开机自启脚本的目录
[root@emooco init.d]# pwd
/etc/init.d
[开机自动启动脚本不会设置的看这篇文章,点击这里可以查看](https://blog.csdn.net/wildwolf_001/article/details/115296712#comments_15702577)
1.6.2、将上面文章设置好的开机自启脚本复制两份
命令
[root@emooco init.d]# cp redis_6379 ./redis_7001
[root@emooco init.d]# cp redis_7001 redis_7002
图解
1.6.3、修改开机自启动配置文件
只需要将开机自启动中的端口号改一下就行了,REDISPORT=【你的配置文件的端口号7001或者7002】
1.7、安装ruby相关软件
1.7.1、安装ruby
命令
[root@emooco network-scripts]# yum install -y ruby
图解
1.7.2、安装rubygems
命令
[root@emooco network-scripts]# yum install -y rubygems
图解
1.7.3、使用gem安装redis
命令
[root@emooco network-scripts]# gem install redis
图解
1.8、启动redis7001和redis7002
1.8.1、到脚本目录下
到开机自启的脚本目录下,启动redis 7001和7002进程,这里不用redis-cli是因为脚本里面有设置,会自动执行的
1.8.2、到脚本目录下启动脚本
命令
[root@emooco init.d]# ./redis_7001 start
[root@emooco init.d]# ./redis_7002 start
图解
1.9、到脚本目录下查看日志是否启动成功
命令
[root@emooco redis]# cd /var/log/redis
[root@emooco redis]# cat 7001.log
图解
1.10、复制redis-trib.rb到/usr/local/bin目录下
cp /usr/local/redis-6.0.6/src/redis-trib.rb /usr/local/bin
将redis安装目录下的redis-trib.rb拷贝到/usr/local/bin目录下
2、第二台机器【172.16.198.139】
2.1、创建4个目录
[root@emooco ~]# mkdir -p /etc/redis-cluster
[root@emooco ~]# mkdir -p /var/log/redis
[root@emooco ~]# mkdir -p /var/redis/7003
[root@emooco ~]# mkdir -p /var/redis/7004
/etc/redis-cluster:存放配置文件的redis.conf
/var/log/redis:存放日志文件的
/var/redis/7003和7004: 存放快照文件的
2.2、如172.16.198.139
机器上一样拷贝配置文件
拷贝安装目录的redis.conf文件得到7003.conf和7004.conf配置文件
2.3、修改配置文件
2.3.1、修改7003.conf
配置文件
port 7003
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7003.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7003.pid
dir /var/redis/7003
logfile /var/log/redis/7003.log
bind 172.16.198.139
appendonly yes
2.3.2、修改7004.conf
配置文件
port 7004
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7004.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7004.pid
dir /var/redis/7004
logfile /var/log/redis/7004.log
bind 172.16.198.139
appendonly yes
2.4、设置开机自启动
命令
[root@emooco init.d]# cp redis_6379 redis_7003
[root@emooco init.d]# cp redis_6379 redis_7004
[root@emooco init.d]# vi redis_7003
[root@emooco init.d]# vi redis_7004
图解
2.4、启动redis 7003和redis7004的脚本
3、第三台机器【172.16.198.140】
3.1、创建4个目录
[root@emooco ~]# mkdir -p /etc/redis-cluster
[root@emooco ~]# mkdir -p /var/log/redis
[root@emooco ~]# mkdir -p /var/redis/7005
[root@emooco ~]# mkdir -p /var/redis/7006
/etc/redis-cluster:存放配置文件的各个节点的信息
/var/log/redis:存放日志文件的/var/redis/7005和7006: 存放快照文件的`
3.2、如172.16.198.140
机器上一样拷贝配置文件
拷贝安装目录的redis.conf文件得到7003.conf和7004.conf配置文件
拷贝安装目录的redis.conf文件得到7005.conf和7006.conf配置文件
3.3、修改配置文件
3.3.1、修改7005.conf
配置文件
port 7005
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7005.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7005.pid
dir /var/redis/7005
logfile /var/log/redis/7005.log
bind 172.16.198.140
appendonly yes
3.3.2、修改7006.conf
配置文件
port 7006
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7006.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7006.pid
dir /var/redis/7006
logfile /var/log/redis/7006.log
bind 172.16.198.140
appendonly yes
3.3.3、设置开机自启动
命令
[root@emooco init.d]# cp redis_6379 redis_7005
[root@emooco init.d]# cp redis_6379 redis_7006
[root@emooco init.d]# vi redis_7005
[root@emooco init.d]# vi redis_7006
图解
3.4、启动redis 7005和redis7006的脚本
4、在第一台机器【172.16.198.138】上开启redis
集群
确保此时已经启动了
6台
redis7001
-7006
命令
[root@emooco init.d]# redis-cli --cluster create 172.16.198.138:7001 172.16.198.138:7002 172.16.198.139:7003 172.16.198.139:7004 172.16.198.140:7005 172.16.198.140:7006 --cluster-replicas 1
图解
图中蓝色光标的位置问是否接受这个配置,从图中可以看出给配置了3个master节点和3个slave节点,而且每个master节点上也分配了哈希槽的个数,slots[0-5460],slots[5461-10922],slots[10923-16383]
是否接受这个配置
输入yes接受这个分配的配置
图解
5、查看集群生成的节点信息
命令
[root@emooco redis-cluster]# pwd
/etc/redis-cluster
[root@emooco redis-cluster]# cat node-7006.conf
[root@emooco redis-cluster]# cat node-7006.conf
图解
6、检查某个节点
命令
[root@emooco init.d]# redis-cli --cluster check 172.16.198.140:7005
图解
被检查的节点会优先的显示在最上面,可以查看哈希槽的使用情况,以及每个主节点上key的个数,以及每个机器的信息都可以看的到
7、一个网关的小插曲
7.1、网络ping-自己的Wi-Fi的IP不通
7.2、ping外网的百度也是不通
7.3、查看电脑上的网关
7.4、修改GATWAY为上图的IP
命令
[root@emooco network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@emooco network-scripts]# vi ifcfg-ens33
图解
以上是关于干了一下午的redis cluster集群的搭建的主要内容,如果未能解决你的问题,请参考以下文章