单节点redis安装

redis的安装:
可以参考http://blog.mayongfa.cn/258.html


1. 安装
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
tar xfz redis-3.2.5.tar.gz
mv redis-3.2.5 /usr/local/redis
cd /usr/local/redis/
make && make install


安装完成后,会在/usr/local/bin下面看到redis-server、redis-cli等这个可执行脚本,进入看一下,如果没有,就要去解压目录复制进去了。


2. 配置redis.conf
vim /usr/local/redis/redis.conf


这里要修改两个地方,一个bind和daemonize就行。
bind这里配置要注意,默认是只有一个127.0.0.1,这个时候只能自己连接,其他局域网内是连接不上的。所以,需要配置多个 IP ,这样就可以局域网内进行连接了。
daemonize是设置是否后台启动 Redis,默认no,正常都需要以服务形式启动 Redis,所以这里设置为yes。


这里配置文件的各个参数信息我不再一一赘述,有位叫 linli8 的博主据说熬夜翻译了一下,哈哈,
有兴趣可以看看: https://github.com/linli8/cnblogs/blob/master/redis%E5%89%AF%E6%9C%AC.conf


3. 启动
cd /usr/local/bin/
redis-server /usr/local/redis/redis.conf
netstat -anpt|grep 6379


4. 测试
redis-cli    #连接 Redis ,默认是本机的。
keys *       #查看现在所有 key
set name mafly    #设置一个key为`name`,value为`mafly`的缓存对象。
get name     #获取key为`name`的缓存


5. 关闭redis

redis-cli shutdown

--------------------------------------------------------------------------------------------

redis的主从的配置

参考:http://www.cnblogs.com/linuxbug/p/5131504.html

1. redis的master服务器对redis.conf的配置:(在上文配置文件的基础上添加)
   1)# 当master服务设置了密码保护时,slav服务连接master的密码
       masterauth 0234kz9*l
2)启动redis。
2. 在从服务器上配置文件增加主的IP以及端口

   1)slaveof 192.168.1.191 6379 

--------------------------------------------------------------------------------------------

参考:https://segmentfault.com/a/1190000002680804

redis容灾部署 (哨兵sentinel),哨兵使用 Raft 分布式算法。可以自动化切换主从。

一个一主多从的Redis系统中,可以使用多个哨兵进行监控任务以保证系统足够稳健。此时,不仅哨兵会同时监控主数据库和从数据库,哨兵之间也会相互监控。
在这里,建议大家哨兵至少部署3个,并且使用奇数个哨兵。

1. 哨兵的作用:1)监控主从是否正常;2)通知,出现问题时通知相关人员;3)故障迁移,自动主从切换,
4)统一的配置管理:连接者询问sentinel取得主从的地址。

2. sentinel.conf配置文件基本如下:
   port 26379
   daemonize yes
   dir "/tmp"
   sentinel myid 1fa112e82f2781d98cd11d4c4edaafe61e4f2533
   sentinel monitor mymaster 192.168.1.191 6379 1
   sentinel down-after-milliseconds mymaster 5000
   sentinel failover-timeout mymaster 10000
   sentinel config-epoch mymaster 0
   sentinel leader-epoch mymaster 0
   sentinel known-slave mymaster 192.168.4.194 6379
   logfile "./sentinel.log"
   sentinel current-epoch 0

3. 启动sentinel
   redis-sentinel /usr/local/redis-3.2.5/sentinel.conf
   
4. 启动成功后可以通过redis客户端工具查看当前Sentinel的信息,终端输入:
   redis-cli -p 26379
   1)查看所监控的 master 与 slave 的状态:SENTINEL masters         SENTINEL slaves mymaster

   2)查看当前的master: SENTINEL get-master-addr-by-name mymaster

----------------------------------------------------------------------------------------------------

参考http://redisdoc.com/topic/sentinel.html


Sentinel 命令
以下列出的是 Sentinel 接受的命令:

PING :返回 PONG 。
SENTINEL masters :  列出所有被监视的主服务器,以及这些主服务器的当前状态。
SENTINEL slaves <master name> :  列出给定主服务器的所有从服务器,以及这些从服务器的当前状态。
SENTINEL get-master-addr-by-name <master name> :   返回给定名字的主服务器的 IP 地址和端口号。 如果这个主服务器正在执行故障转移操作, 
或者针对这个主服务器的故障转移操作已经完成, 那么这个命令返回新的主服务器的 IP 地址和端口号。
SENTINEL reset <pattern> :   重置所有名字和给定模式 pattern 相匹配的主服务器。 pattern 参数是一个 Glob 风格的模式。
 重置操作清除主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
SENTINEL failover <master name> :   当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移 (不过发起故障转移的 Sentinel 会向其他 Sentinel 发送一个新的配置,
其他 Sentinel 会根据这个配置进行相应的更新)。

----------------------------------------------------------------------------------------------------------------------------------

redis启动出现警告:
如下:
16449:M 08 Jun 09:54:17.660 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
16449:M 08 Jun 09:54:17.660 # Server started, Redis version 3.2.1
16449:M 08 Jun 09:54:17.660 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
16449:M 08 Jun 09:54:17.660 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. 
To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

解决:
第一个:echo 511 >/proc/sys/net/core/somaxconn
第二个:echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
第三个:echo never > /sys/kernel/mm/transparent_hugepage/enabled  在/etc/rc.local里面提那家如下:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
切记:执行sysctl -p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值