Redis集群 - 配置最简单的Redis主从
2017-04-08 10:57
567 查看
要求:
1、你已经知道redis是什么
2、熟悉Linux基本操作(CentOS 6.5)
3、有单机redis开发相关经验
4、有主观能动性,至少熟练百度的使用
那么我们可能就需要把redis分开部署,并且配置为一个『主从』的状态。
https://redis.io
(一定要去官网下载)
下载之后,会有一个
(注意我们后面整个过程不要使用root帐号,我这里是在一个叫’admin’的用户下’)
1、解压
2、进入redis源码目录
这里边的文件,我们需要编译
3、编译
根据手册
https://redis.io/download
执行命令:
编译好后会在
注意:如果报”admin is not in the sudoers file. This incident will be reported.”错误。是因为执行sudo命令的用户不在sudoers文件的列表中。可以通过编辑sudoers文件,来解决这个问题。
切换到root帐号执行:vi /etc/sudoers
为了让admin这个用户能够执行sudo命令,在sudoers文件中加入一行:
admin ALL=(ALL) ALL
2、
3、然后在
4、把前面编译后的redis的可执行文件(在
5、redis提供给我们了一个默认的配置文件redis.conf
把它复制到
6、删除一些不必要的文件(我们只需要redis的可执行文件)
7、修改配置文件
修改如下几个配置:
8、启动
注意文件夹路径不要搞错
9、配置从节点
修改6380.conf
修改对应的端口和pid配置
然后加入
10、启动2个redis实例
11、启动redis客户端
去连接6379那个实例
连上之后输入:
可以从中看到很多信息,比如:
12、新增
13、然后访问6380那个实例
我们发现这2个实例已经完成了数据的同步。
如果我们要在
我们这里演示是在一台机器上,分了2个端口,真实开发肯定是2台机器了,不然分离就没有意义了。
1、你已经知道redis是什么
2、熟悉Linux基本操作(CentOS 6.5)
3、有单机redis开发相关经验
4、有主观能动性,至少熟练百度的使用
redis主从配置初步:2个节点主从
如果我们redis的压力很大,如果我们的并发高到我们读数据和写数据都有了很大压力。那么我们可能就需要把redis分开部署,并且配置为一个『主从』的状态。
首先我们要安装redis
官网地址:https://redis.io
(一定要去官网下载)
下载之后,会有一个
redis-3.2.8.tar.gz
(注意我们后面整个过程不要使用root帐号,我这里是在一个叫’admin’的用户下’)
1、解压
tar zxvf redis-3.2.8.tar.gz
2、进入redis源码目录
cd redis-3.2.8
这里边的文件,我们需要编译
3、编译
根据手册
https://redis.io/download
执行命令:
make
编译好后会在
src目录生成一些可执行文件
为了方便,我们把一些文件拷贝到/usr/local/redis中
1、在/usr/local/下创建需要的目录
cd /usr/local sudo mkdir redis #创建目录
注意:如果报”admin is not in the sudoers file. This incident will be reported.”错误。是因为执行sudo命令的用户不在sudoers文件的列表中。可以通过编辑sudoers文件,来解决这个问题。
切换到root帐号执行:vi /etc/sudoers
为了让admin这个用户能够执行sudo命令,在sudoers文件中加入一行:
admin ALL=(ALL) ALL
2、
/usr/local/redis目录创建成功,需要修改
redis目录所有者
sudo chown -R admin:admin redis/
3、然后在
redis目录,新建
bin和
conf目录。(不是必须的,只不是过为了方便而已)
4、把前面编译后的redis的可执行文件(在
redis-3.2.8/src/下),复制到
/usr/local/redis/bin里面去
sudo cp redis* /usr/local/redis/bin/ #拷贝redis开头的所有文件
5、redis提供给我们了一个默认的配置文件redis.conf
把它复制到
/usr/local/redis/conf目录下,并改名为
6379.conf
sudo cp redis.conf /usr/local/redis/conf/6379.conf
6、删除一些不必要的文件(我们只需要redis的可执行文件)
sudo rm *.c sudo rm *.o sudo rm *.h
7、修改配置文件
sudo vi 6379.conf
修改如下几个配置:
daemonize no 修改为: daemonize yes (后台程序方式运行) pidfile /var/run/redis_6379.pid 修改为: pidfile /usr/local/redis/redis_6379.pid (把pidfile生成到有权限的目录下)
8、启动
注意文件夹路径不要搞错
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6379.conf
9、配置从节点
sudo cp 6379.conf 6380.conf
修改6380.conf
修改对应的端口和pid配置
然后加入
slaveof 127.0.0.1 6379
port 6379 修改为: port 6380 pidfile /usr/local/redis/redis_6379.pid 修改为: pidfile /usr/local/redis/redis_6380.pid 增加一行: slaveof 127.0.0.1 6379
10、启动2个redis实例
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6379.conf /usr/local/redis/bin/redis-server /usr/local/redis/conf/6380.conf
11、启动redis客户端
去连接6379那个实例
cd /usr/local/redis/bin/ ./redis-cli -h 127.0.0.1 -p 6379
连上之后输入:
info命令
可以从中看到很多信息,比如:
role:master #本机是『主』 connected_slaves:1 #有1个『奴隶』 slave0:ip=127.0.0.1,port=6380,state=online,offset=11957,lag=1 #"从"服务器iP地址和端口是
12、新增
set name zhangsan
#读取 get name
13、然后访问6380那个实例
./redis-cli -h 127.0.0.1 -p 6380 get name
我们发现这2个实例已经完成了数据的同步。
如果我们要在
从服务器写入
set name lisi #会提示:(error) READONLY You can't write against a read only slave. #因为从服务器只有读权限,我们做的就是redis的读写分离啊
我们这里演示是在一台机器上,分了2个端口,真实开发肯定是2台机器了,不然分离就没有意义了。
相关文章推荐
- Redis集群 - redis主从配置初步:简单主从切换(哨兵模式)
- redis集群(主从配置)
- centos下 redis主从集群以及监控配置
- Redis主从复制和集群配置
- Redis集群(主从配置)
- redis集群(主从配置)
- Redis集群_2.redis 主从配置
- redis集群(主从配置)
- Redis主从复制和集群配置
- Redis集群_主从配置
- redis 3.3.2 集群配置主从
- redis集群(主从配置)
- redis3 集群简单配置
- Redis主从复制和集群配置
- redis集群(主从配置)
- Redis的主从复制与集群配置实践
- redis 非集群的主从配置及切换
- redis集群(主从配置)
- CentOS Linux下 redis 下载、安装、配置、主从集群配置
- redis 下载 安装 主从简单配置