linux redis 后端运行,redis单机、集群搭建(linux下适合新手的超详细搭建步骤)...

redis单机、集群搭建(linux下适合新手的超详细搭建步骤)

前言

环境准备

语言环境

安装包

redis单机搭建

redis集群搭建

创建6个redis实例

创建集群

相关脚本

相关操作命令

常见问题

前言

1、linux操作系统发行版:CentOS release 6.9

2、redis集群是在一个服务器分6个端口搭建的

3、redis版本:redis-3.2.1.tar.gz

4、正文中出现的ip是服务器的ip,"密码"是自己设置的redis密码

5、如果服务器的防火墙关闭了(具体怎么看请百度),那么正文中所涉及的防火墙相关步骤不用操作

环境准备

语言环境

安装c语言(一般情况下,centos自带c语言环境)、ruby语言环境(搭建redis集群时需要用到)

进入/roo分别t执行:

yum install gcc-c++

yum install ruby

eba75e80e16a803547d7b1067cd45620.png

yum install rubygems

3deb91651cdf7cbe2d55c99dc55bc6b5.png

安装包

1、从官方网站下载ruby包redis-3.2.1.gem、redis安装包redis-3.2.1.tar.gz并放到/usr/local目录下

2、安装ruby包

进入/usr/local执行:gem install redis-3.2.1.gem

7d695b02092cf6b18543dacdb2f309aa.png

redis单机搭建

1、解压安装包

进入/usr/local执行:tar -xzvf redis-3.2.1.tar.gz

2、编译

进入/usr/local/redis-3.2.1执行:make

3、创建redis目录

进入/usr/local执行:mkdir redis

4、安装

进入/usr/local/redis-3.2.1执行:make install PREFIX=/usr/local/redis

6c519c93201167fe61168ac983a9f51b.png

5、将解压安装包里面的配置文件拷贝到安装目录下

进入/usr/local/redis-3.2.1执行:cp ./redis.conf …/redis/bin

6、将redis的启动改成后端启动

进入/usr/local/redis/bin执行:将redis.conf里面的daemonize no改成daemonize yes

7、放开redis访问的ip权限,使得所有ip都可以访问

进入/usr/local/redis/bin执行:将redis.conf里面的bind 127.0.0.1改成# bind 127.0.0.1(注释掉,如果是redis3.2之后版本,将protected-mode yes改成protected-mode no)

8、设置密码

进入/usr/local/redis/bin执行:将redis.conf里面的# requirepass foobared改成requirepass 密码(放开注释)

进入/usr/local/redis/bin执行:将redis.conf里面的# masterauth 改成masterauth 密码(如果不搭redis集群,这一步不需要做)

9、防火墙放开6379端口

进入/etc/sysconfig分别执行:

iptables -A INPUT -p tcp --dport 6379 -j ACCEPT

service iptables save

10、重启防火墙

进入/etc/sysconfig执行:service iptables restart

11、启动

进入/usr/local/redis/bin执行:./redis-server redis.conf

12、检查redis是否运行正常

进入/usr/local/redis/bin执行:ps -ef|grep redis

29b088078abe57716f1fef6b1eae43f8.png

13、关闭

进入/usr/local/redis/bin执行:./redis-cli -h ip -p 6379 -a 密码 shutdown

14、删除安装包

进入/usr/local执行:rm -rf redis-3.2.1.tar.gz

redis集群搭建

创建6个redis实例

1、创建redis-cluster目录

进入/usr/local执行:mkdir redis-cluster

2、创建第1个redis目录

进入/usr/local/redis-cluster执行:mkdir redis6661

3、把/usr/local/redis目录下的所有文件复制到/usr/local/redis-cluster/redis6661

进入/usr/local/redis执行:cp -r * /usr/local/redis-cluster/redis6661

4、删除redis6661目录下的快照文件dump.rdb

进入/usr/loca/redis-clusterl/redis6661/bin执行:rm -rf dump.rdb

5、修改redis6661目录下的redis.cnf文件

进入/usr/local/redis6661/bin分别执行:

将redis.cnf里面的port 6379改成port 6661

将# cluster-enabled yes改成cluster-enabled yes(放开注释,开启集群创建模式)

6、复制得到另外5个redis

进入/usr/local/redis-cluster分别执行:

cp -r redis6661 ./redis6662

cp -r redis6661 ./redis6663

cp -r redis6661 ./redis6664

cp -r redis6661 ./redis6665

cp -r redis6661 ./redis6666

7、将5个文件下的redis.conf里面的端口号分别修改为6662-6666

创建集群

1、修改client.rb密码(如果不修改,创建集群会报错)

进入/usr/lib/ruby/gems/1.8/gems/redis-3.2.1/lib/redis执行:将client.rb里面的(:password => nil,)改成(:password => “密码”,)

2、创建一个启动、关闭6个redis的脚本(具体脚本见文末),放到/usr/local/redis-cluster

3、修改脚本权限,让其可以执行

进入/usr/local/redis-cluster执行:

chmod +x start-all.sh stop-all.sh

4、修改脚本的格式为unix

进入/usr/local/redis-cluster执行:vim start-all.sh,按shift+冒号输入set ff=unix,回车,保存

5、将/usr/local/redis-3.2.1/src下的redis-trib.rb复制到redis-cluster目录下

进入/usr/local/redis-3.2.1/src执行:cp redis-trib.rb /usr/local/redis-cluster

至此,/usr/local/redis-cluster下的内容如下:

20a9328fece2c4022bc9672ca9c29523.png

6、防火墙放开端口

进入/etc/sysconfig分别执行:

iptables -A INPUT -p tcp --dport 16661 -j ACCEPT

iptables -A INPUT -p tcp --dport 16662 -j ACCEPT

iptables -A INPUT -p tcp --dport 16663 -j ACCEPT

iptables -A INPUT -p tcp --dport 6661 -j ACCEPT

iptables -A INPUT -p tcp --dport 6662 -j ACCEPT

iptables -A INPUT -p tcp --dport 6663 -j ACCEPT

iptables -A INPUT -p tcp --dport 16664 -j ACCEPT

iptables -A INPUT -p tcp --dport 16665 -j ACCEPT

iptables -A INPUT -p tcp --dport 16666 -j ACCEPT

iptables -A INPUT -p tcp --dport 6664 -j ACCEPT

iptables -A INPUT -p tcp --dport 6665 -j ACCEPT

iptables -A INPUT -p tcp --dport 6666 -j ACCEPT

service iptables save

7、重启防火墙

进入/etc/sysconfig执行:service iptables restart

8、进入/usr/local/redis-cluster执行:./start-all.sh

9、检查redis是否运行正常

进入/usr/local/redis-cluster执行:ps -ef|grep redis

3a4234abd1b89cbd6eed235ce3be5a78.png

10、搭建集群

进入/usr/local/redis-cluster执行:./redis-trib.rb create --replicas 1 ip:6661 ip:6662 ip:6663 ip:6664 ip:6665 ip:6666

0c8db63784cd2e6f94363fe79cf00f6d.png

def04708bd45b3aaef781c769e08d49b.png

相关脚本

1、start-all.sh

#!/bin/bash

cd ./redis6661/bin

./redis-server redis.conf

cd …/…/redis6662/bin

./redis-server redis.conf

cd …/…/redis6663/bin

./redis-server redis.conf

cd …/…/redis6664/bin

./redis-server redis.conf

cd …/…/redis6665/bin

./redis-server redis.conf

cd …/…/redis6666/bin

./redis-server redis.conf

2、stop-all.sh

#!/bin/bash

cd ./redis6661/bin

./redis-cli -h ip -p 6661 -a 密码 shutdown

cd …/…/redis6662/bin

./redis-cli -h ip -p 6662 -a 密码 shutdown

cd …/…/redis6663/bin

./redis-cli -h ip -p 6663 -a 密码 shutdown

cd …/…/redis6664/bin

./redis-cli -h ip -p 6664 -a 密码 shutdown

cd …/…/redis6665/bin

./redis-cli -h ip -p 6665 -a 密码 shutdown

cd …/…/redis6666/bin

./redis-cli -h ip -p 6666 -a 密码 shutdown

相关操作命令

1、将相关命令复制到/usr/bin下(使得相关命令成为全局命令,在任何目录下都可执行)

进入/usr/local/redis/bin执行:cp redis-server redis-cli /usr/bin

2、集群状态

redis-cli -h ip -p 6661 -a 密码 cluster info

3、集群节点信息

redis-cli -h ip -p 6661 -a 密码 cluster nodes

常见问题

1、搭建集群出现以下报错的解决办法

042d4427d1636b9b1eacc97ca36d9f4c.png

进入/usr/local/redis-cluste分别执行(每个端口对应的redis执行的步骤一样):

redis-cli -h ip -p 端口 -a 密码

cluster reset

flushdb

exit

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值