Redis集群cluster环境(快速搭建过程10分钟)

安装环境CentOS Linux release 7.5.1804 (Core)

如果服务器没有连接网络,请按步骤自行百度其离线方式

话不多说,开整!!!


一、安装redis

#下载至/home/install(或windows系统下载后上传)

  mkdir /usr/local/install

  cd usr/local/install

  wget http://124.205.69.171/files/6160000006F201F1/download.redis.io/releases/redis-4.0.11.tar.gz

#解压

  tar -zxvf redis-4.0.11.tar.gz 

#移动

  mv redis-4.0.11 /usr/local/redis-4.0.11

#编译安装
    cd /usr/local/redis-4.0.11
    make && make install

如果报没有gcc的错:

下载gcc所有依赖:

rpm  -ivh  *.rpm --nodeps --force 

zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

执行:make MALLOC=libc


二、配置六个redis服务(官方建议3主3从)

 

1.创建集群目录

              mkdir /usr/local/redis-cluster/

              cd  /usr/local/redis-cluster/

              mkdir 7001

              mkdir 7002

              mkdir 7003

              mkdir 7004

              mkdir 7005

              mkdir 7006

2.修改配置文件

              cd  /usr/local/redis-cluster/

    cp /usr/local/redis-4.0.11/redis.conf  ./7001/redis.conf

    vim ./7001/redis.conf

    #找到如下KEY,放开注释,修改值内容

    bind 0.0.0.0#不限制访问ip和远程连接

    protected-mode no#保护模式

    port 7001 #修改端口号 

    daemonize yes#后台运行线程

    pidfile /var/run/redis_7001.pid #守护进程文件

    dbfilename dump7001.rdb#缓存持久存储文件名称

    dir /usr/local/redis-cluster/7001/#db文件存放路径

    appendonly yes#开启日志实时持久

    appendfilename "appendonly7001.aof"#日志名称

    cluster-enabled yes#开启集群

    cluster-config-file nodes_7001.conf#集群节点文件

    cluster-node-timeout 15000#集群通信超过该时长视为挂掉,单位毫秒

3.拷贝配置文件

              cd  /usr/local/redis-cluster/

    cp ./7001/redis.conf ./7002/redis.conf

    cp ./7001/redis.conf ./7003/redis.conf

    cp ./7001/redis.conf ./7004/redis.conf

    cp ./7001/redis.conf ./7005/redis.conf

    cp ./7001/redis.conf ./7006/redis.conf

4.手工修改配置文件

    vim ./7002/redis.conf

    :%s/7001/7002/g#所有7001的字符串替换为7002

               .

               .

               .

    vim ./7006/redis.conf

    :%s/7001/7006/g#所有7001的字符串替换为7006


三、安装redis依赖(ruby)

1.安装依赖包

    yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison sqlite-devel iconv-devel

2.安装 rvm

    curl -L get.rvm.io | bash -s stable

3.拷贝中间红框中的执行

4.再次安装rvm(命令同上:curl -L get.rvm.io | bash -s stable )

安装成功,黄字提示请把用户添加到rvm用户组(执行)

    usermod -G  rvm root

5.添加生效指令

    echo "source /etc/profile.d/rvm.sh" >> ~/.bashrc && source /etc/profile.d/rvm.sh

6.安装ruby(等得有点久,不要慌,出现下图就可以了)

    rvm install ruby

7.安装ruby与redis接口

    gem install redis

    yum install rubygems


四、启动redis并创建集群

1.启动所有的redis

cd  /usr/local/redis-cluster/
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7001/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7002/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7003/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7004/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7005/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7006/redis.conf

2.创建测试用集群(如redis需要设置密码或有项目需要连接集群-->见六、实战)

    /usr/local/redis-4.0.11/src/redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

3.测试验证

随便链接一个节点,我连接的是7001,可以退出连接其他节点去取值(这里就不测试了)


五、报错处理:

重新编译redis,删除7001-7006文件夹下除redis.conf之外的文件,然后gem install redis,再次执行即可

如果使用阿里云,可能提示can not connect ... 请配置安全组,放开7001-7006端口

如果一直停留在join....或者使用代码连接上不,请关闭防火墙或配置安全规则,然后打开集线端口(redis端口+10000即[17001-17006])或者移步实战应用.


六、实战应用(设置密码并开启集群模式)

1.如果用127.0.0.1进行过测试,请killall redis-server重新编译redis,删除7001-7006文件夹下除redis.conf之外的文件,然后gem install redis(没有开启过集群模式请移步2.↓)

2.在7001-7006文件夹下的所有redis.conf文件中放开requirepass属性的注释,然后设置想要的密码

3.启动所有的redis

#!/bin/sh
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7001/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7002/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7003/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7004/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7005/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7006/redis.conf

 4.修改gems工具client.rb参数

找到你们自己本地的client.rb文件(我的是/usr/local/ruby/lib/ruby/gems/2.2.0/gems/redis-4.0.1/lib/redis/client.rb)

进入该文件夹-->vim ./client.rb   修改创建集群时的连接密码如"admin",注意看图,然后报存!

 4.开启集群模式(替换黑色字体为你的外网或项目能访问的ip每个地址之间有一个空格)

/usr/local/redis-4.0.11/src/redis-trib.rb create --replicas 1 yoursIP:7001 yoursIP:7002 yoursIP:7003 yoursIP:7004 yoursIP:7005 yoursIP:7006

中间需要输入一次yes,出现下图就成功了,附赠redis保存错误的截图(相信我只是附赠...)

保存失败(集群模式,连接请使用集群连接参数-c)

最后使用代码连接测试一波,完美!!!

七、开机启动

mkdir /usr/local/redis-cluster/script

cd /usr/local/redis-cluster/script/

1.编写 startAll.sh

vim startAll.sh

#!/bin/sh
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7001/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7002/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7003/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7004/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7005/redis.conf
/usr/local/redis-4.0.11/src/redis-server /usr/local/redis-cluster/7006/redis.conf

2.编写 stopAll.sh

vim stopAll.sh

#!/bin/sh
/usr/local/redis-4.0.11/src/redis-cli -c -a yourPassword -p 7001 shutdown
/usr/local/redis-4.0.11/src/redis-cli -c -a yourPassword -p 7002 shutdown
/usr/local/redis-4.0.11/src/redis-cli -c -a yourPassword -p 7003 shutdown
/usr/local/redis-4.0.11/src/redis-cli -c -a yourPassword -p 7004 shutdown
/usr/local/redis-4.0.11/src/redis-cli -c -a yourPassword -p 7005 shutdown
/usr/local/redis-4.0.11/src/redis-cli -c -a yourPassword -p 7006 shutdown

3.编写restart.sh 

vim restart.sh
#!/bin/sh
systemctl stop redis-cluster
systemctl start redis-cluster

4.改变权限

cd /usr/local/redis-cluster/script/

chmod 777 ./*.sh

5.编写自启服务

cd /usr/lib/systemd/system/

vim redis-cluster.service

添加内容如下

[Unit]
Description=redis-cluster
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/redis-cluster/script/startAll.sh
ExecStop=/usr/local/redis-cluster/script/stopAll.sh
ExecReload=/usr/local/redis-cluster/script/restart.sh
[Install]
WantedBy=multi-user.target

改变权限

chmod 777 redis-cluster.service

进程服务重加载

systemctl daemon-reload

开机启动集群

systemctl enable redis-cluster.service

启动集群

systemctl start redis-cluster.service

关闭集群

systemctl stop redis-cluster.service

重启集群

systemctl restart redis-cluster.service

好啦,感谢阅读,欢迎转载,转载还请注明原出处...

感谢七脉本文参考原地址:https://www.cnblogs.com/zwcry/p/9174233.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值