redis linux 配置(单机、复制、哨兵、集群)

redis 单机配置

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

tar xvf redis-3.2.9.tar.gz

cd redis-3.2.9

make install PREFIX=解压地址/redis-3.2.9 #安装

src/redis-server ../redis.conf& #启动

src/redis-cli #客户端连接

redis 复制配置

复制可以是在一台机器,也可以是在不同机器,我这里为了方便 是在一台服务器上配置的

复制配置是在单机配置基础上进行的,

第1步:cp reids.conf redis2.conf

第2步:Vim redis2.conf(slave)

第3步:slaveof 192.168.0.12 6379( slaveof  更改为master的地址)

第4步:Vim redis.conf master

第5步:bind  0.0.0.0 #无ip 都可以访问  如果是在一台机器上复制 不需配置,生产环境不建议配置为0.0.0.0

第6步:./redis-server ../redis.conf  #master

第7步./redis-server ../redis.2conf #slave

Ps:是否成功set get请求来判断或执行info命令role

判断是否成功:

1、master客户端set值,slave客户端能不能获取到

2、slave节点执行:config get 'slaveof*'


redis 哨兵配置

哨兵配置参考:http://blog.csdn.net/shouhuzhezhishen/article/details/69221517

redis 集群配置

这里配置的是直连集群模式

下载

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

tar xvf redis-3.2.9.tar.gz

cd redis-3.2.9

安装

make install PREFIX=/usr/local/redis-3.2.9

配置

cd /usr/local/redis-3.2.9

创建集群配置文件夹:mkdir cluster-conf

cd cluster-conf

创建集群端口文件夹:mkdir 7001 mkdir 7002

cd 7001

复制配置文件:cp /root/svr/redis-3.2.9/redis.conf ./

Redislog及持久化文件建议存储到磁盘空间较大的目录,本次存储路径:/root/svr/redis-cluster/

port 7001

logfile "/root/svr/redis-3.2.9/cluster-conf/7001/redis.log"

dir /root/svr/redis-cluster/7001/ #事先创建好

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

appendonly yes

bind 0.0.0.0

#端口号

port


#指定了记录日志的文件。

logfile


#数据目录,数据库的写入会在这个目录。

rdb、aof文件也会写在这个目录

dir


#是否开启集群

cluster-enabled


##集群配置文件的名称,每个节点都有一个集群相关的配置文件

,持久化保存集群的信息。这个文件并不需要手动配置,

这个配置文件有Redis生成并更新,

每个Redis集群节点需要一个单独的配置文件,

请确保与实例运行的系统中配置文件名称不冲突

cluster-config-file nodes.conf


#节点互连超时的阀值。集群节点超时毫秒数

cluster-node-timeout


#默认redis使用的是rdb方式持久化,

这种方式在许多应用中已经足够用了。但是redis如果中途宕机,

会导致可能有几分钟的数据丢失,根据save来策略进行持久化,

Append Only File是另一种持久化方式,可以提供更好的持久化特性。

Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,

每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。

appendonly 


修改配置文件:vi redis.conf

复制redis.conf至7002并修改端口及存储路径

 

scp其他服务器

scp -r  root@192.168.0.13:/root/svr/ redis-3.2.9/

2.4启动

/root/svr/redis-3.2.9/bin/redis-server /root/svr/redis-3.2.9/cluster-conf/7002/redis.conf&

2.5创建集群

./redis-trib.rb create --replicas 1192.168.0.11:7001 192.168.0.12:7001 192.168.0.13:7001 192.168.0.11:7002192.168.0.12:7002 192.168.0.13:7002

以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。

命令的意义如下:

1、给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。

2、选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点(百分比 选举master按先后顺序)。

3之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。

 



含义如下:

节点ID

IP:端口

标志: master, slave, myself, fail

如果是个从节点, 这里是它的主节点的NODE ID

集群最近一次向节点发送 PING 命令之后,过去了多长时间还没接到回复。.

节点最近一次返回 PONG 回复的时间。

本节点的网络连接情况

节点目前包含的槽:例如 127.0.0.1:7001 目前包含号码为 5960 至 10921 的哈希槽(master)。

 

2.6查看

 ps-ef |grep redis

或者netsta -tnlp |grep redis

./redis-cli -c -p 7001

表示安装成功了


2.7其他命令(安装过程不需要执行):

//增加

./redis-trib.rbadd-node 127.0.0.1:7006 127.0.0.1:7000

//从节点(masterid 和被加的节点)

./redis-trib.rbadd-node --slave masterid 192.168.0.11:7002

  

//移除

./redis-tribdel-node 127.0.0.1:7000 `<node-id>`

关闭服务:./redis-cli-h 192.168.0.11 -p 7001 shutdown

删除:rm -rf/root/svr/redis-cluster/7001/*

 

 

3、问题

一、在执行./redis-trib.rb create报

/usr/bin/env: ruby: No such file or directory

解决:yum install ruby

 

二、在执行./redis-trib.rb create报

./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)

from ./redis-trib.rb:24

解决:yum install rubygems

 

 

三、在执行./redis-trib.rb create报

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in`gem_original_require': no such file to load -- redis (LoadError)

       from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in`require'

解决:gem install redis

 

三、如果telnet 192.168.0.xx 7001

   如果telnet不通,但是ps-ef|grep redis可以看到服务或者本地客户端可以连接,远程客户端连接不了。这个时候就要修改redis.conf参数了

vim 7001(2)/redis.conf 

注释bind或者改为bind 0.0.0.0

关掉受保护模式



注:https://www.cnblogs.com/lijiangdada/p/7985731.html(ruby安装及版本管理)

       https://www.jianshu.com/p/c9c24b3a1c53(防火墙相关操作)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值