搭建redis集群
安装redis
1、安装redis
sudo apt-get install redis-server
redis.conf的默认路径为/etc/redis/redis.conf
2、默认安装完启动redis,执行ps -ef|grep redis,查看redis进程。
搭建集群
1、在/usr/local下创建redis-cluster文件夹 mkdir redis-cluster
在 redis-cluster中创建7001-7006文件夹,用来放置6个节点的redis,并将redis.conf文件拷贝到各个文件夹。
2、更改redis.conf
(1)更改port
(2)找到bind这一行,bind后要修改为 当前机器的IP地址。
(3)找到 dir 这一行 指定数据文件的存放路径。设置为各个节点下的目录。目录结构类似为"/usr/local/redis-cluster/节点目录/"
(4)启动集群模式。找到cluster-enabled 修改为 cluster-enabled yes。
(5)设置集群的配置文件路径 。cluster-config-file nodes7001.conf
(6)修改appendonly 为yes
3、启动redis
进入root用户,执行下列命令
可以看到7001节点已经启动。另外五个也启动起来,如下图
3、安装ruby环境及ruby-redis插件
安装ruby:sudo apt-get install ruby
进入redis-4.0.12/src文件夹下,通过gem安装redis:gem install redis
4、Redis 官方提供了 redis-trib.rb ,用这个工具可以搭建集群。
执行以下命令:
/usr/share/doc/redis-tools/examples/redis-trib.rb create --replicas 1 192.168.182.130:7001 192.168.182.130:7002 192.168.182.130:7003 192.168.182.130:7004 192.168.182.130:7005 192.168.182.130:7006
报错了:
提示此节点已经知道了其他节点的信息。所以可以进入这个节点查看节点信息:
也可以直接打开在7001目录下生成的节点信息文件nodes7001.conf:
这是上一次启动redis集群的信息,这是我们可以删除7001文件夹下的nodes7001.conf、appendonly.aof、dump.rdb三个文件,然后用flushdb命令清空当前数据库
其他节点也这样做,发现还是会报那样的错误,于是就重启了服务器。。。然后再启动各个redis节点和创建集群,成功了:
验证redis集群
连接redis服务器命令:redis-cli -h {host} -p {port} -c 记得一定要加上-c,表示集群,否则会报moved错误:
连接后可以运行以下命令:
cluster info:
cluster nodes:集群节点信息(可以很清晰的看到主从节点的分布)
验证: