集群搭建环境,一台Centos7虚拟机(192.168.217.128),6个redis节点 redis-4.0.2版本
安装redis:按照官网的步骤来,这里就不多说了。附上地址https://redis.io/download,
注意安装过程中可能出错(redis tarError),可能因为redis所需的插件虚拟机没安装,顺序执行以下命令即可
yum install -y gcc g++ gcc-c++ make
make MALLOC=libc
make install
- 创建redis集群目录,在集群目录下创建redis节点目录:
cd /usr/local/program/redis
mkdir redis-cluster
cd redis-cluster
mkdir 7000 7001 7002 7003 7004 7005
- 然后将redis的配置文件redis.conf 复制到7000-7005文件下修改每一个配置文件参数
bind 192.168.217.128 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
port 7000 //端口7000-7005
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000-7005
dir /usr/local/program/redis/redis-cluster/7000/ //集群各个节点生成的配置文件目录7000-7005
cluster-enabled yes //开启集群
cluster-config-file nodes_7000.conf //集群各个配置文件首次启动自动生成7000-7005
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof开启
cluster-require-full-coverage no //如果某一些key space没有被集群中任何节点覆盖,最常见的就是一个node挂掉,集群将停止接受写入
- 运行所有节点,创建节点的运行脚本
vim start-cluster.sh (创建启动脚本命令)
//脚本内容
redis-server /usr/local/program/redis/redis-cluster/7000/redis.conf
redis-server /usr/local/program/redis/redis-cluster/7001/redis.conf
redis-server /usr/local/program/redis/redis-cluster/7002/redis.conf
redis-server /usr/local/program/redis/redis-cluster/7003/redis.conf
redis-server /usr/local/program/redis/redis-cluster/7004/redis.conf
redis-server /usr/local/program/redis/redis-cluster/7005/redis.conf
chmod 777 start-cluster.sh (给脚本分配权限)
sh -x start-cluster.sh (运行脚本命令)
- 开始搭建集群
cd /usr/local/program/redis/redis-4.0.2/src
redis-trib.rb create --replicas 1 192.168.217.128:7000 192.168.217.128:7001 192.168.217.128:7002 192.168.217.128:7003 192.168.217.128:7004 192.168.217.128:7005
运行以上命令,可能会出出错,因为redis-trib.rb这个命令需要相关的ruby插件,ruby安装
sudo yum install curl(先安装curl)
curl -L get.rvm.io | bash -s stable
(执行该命令若提示要签名执行命令行中的签名)
find / -name rvm -print
source /usr/local/rvm/scripts/rvm
rvm list known
rvm install 2.4.1(选择高版本的)
rvm use 2.4.1(ruby目录:Using /usr/local/rvm/gems/ruby-2.4.1)
rvm use 2.4.1 --default(选择为默认的)
rvm remove 2.0.0(删除旧版本)
ruby --version(查看现有版本)
gem install redis(最后安装redis的插件)
ruby安装成功后再次运行redis搭建集群相关命令,根据提示 输入yes 最后出现:All 16384 slots covered 集群搭建成功
然后访问集群,只需访问某一节点即可:
redis-cli -h 192.168.217.128 -c -p 7000 //连接 7000节点
cluster nodes (查看集群所有节点)
集群搭建成功后,下次启动只需运行创建start-cluster.sh脚本命令即可