Redis运维精讲之密码设置篇

关于Redis集群安装请看本人的上一篇博客:Redis运维精讲之集群安装篇

Redis密码设置,分两种情况,一种是单实例密码设置,一种是集群密码设置。网络上大多数都是第一种的设置方法,但作为一个专业的运维工程师,小孩子才做选择,我们全都要。

设置方法很简单,就是在所有实例的conf文件里加上以下两个语句:

masterauth 123456
requirepass 123456

然后重启Redis。

由于设置了集群密码,此时发现集群已经崩了,这是为啥呢?

Redis运维精讲之密码设置篇_第1张图片

Redis集群之间的连接,需要读取一个配置文件:client.rb

这个文件在哪呢?

[root@localhost redis]# find / -name client.rb
/usr/share/ruby/xmlrpc/client.rb
/usr/local/share/gems/gems/redis-3.0.0/lib/redis/client.rb

很明显,是下面这个文件,让我们打开它

Redis运维精讲之密码设置篇_第2张图片

这里有个password字样,默认密码为空,所以我们没有设置密码的时候,集群可以正常连接,但是一旦设置了密码,那么集群连接读这个配置文件时,必然会失败。

这个字段配置也很有讲究,不是简单的在后面写几个数字就行了,必须遵守他的格式:

:password => "123456",   #要有""和, 记住要使用英文

注意:这个文件,只需要在集群建立时的主IP上执行就行了,另外两台不需要更改。

这里,我们就直接更改了192.168.8.133这一个节点上的/usr/local/share/gems/gems/redis-3.0.0/lib/redis/client.rb文件。

这个文件根据系统环境和版本的不同,所在的位置也不同,没有固定的路径,所以使用find命令来找到他是一个很好地选择。改好之后不需要其他任何操作,我们来验证下:

这样一来,连接时,就会提示输入密码。使用auth password语句,可以正常连接集群。

这个集群连接密码设置完成之后,在项目里面,也要配置对应的密码,这里需要注意:

1,每个节点的连接密码必须一样

2,集群密码建议复杂化,因为他是以明文的方式保存在conf文件里面的,不需要人为的记下来。

我们在使用命令:/root/redis/src/redis-cli  -h 192.168.8.133 -p 6371 -c 连接集群时,-c参数,表示以集群的方式连接,不加这个参数,表示连接到了单节点。

但是在5.0.9版本中,设置完集群密码和实例密码之后,就算不加-c参数,我们同样可以查看集群信息,比如:

所以,我们在设置密码时,要一次性的把两个参数都考虑进去,避免二次努力。

下面我们来看下6371.conf此时的配置文件的参数,以后把这个文件保存好,用的时候,直接粘贴进去就行了:

[root@localhost conf]# cat 6371.conf  | grep -v ^# | grep -v ^$
bind 192.168.8.133
protected-mode yes
port 6371
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /root/redis/cluster/redis_6371.pid
loglevel notice
logfile "/root/redis/logs/6371.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /root/redis/cluster/
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file nodes-6371.conf
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
masterauth 123456
requirepass 123456
 

 

你可能感兴趣的:(运维,redis,linux)