redis 查看redis节点_redis单节点安装及cluster的安装

单点安装

wget http://download.redis.io/releases/redis-4.0.2.tar.gztar zxvf redis-4.0.1.tar.gz -C /usr/localcd /usr/local/redis-4.0.2makemake testmake PREFIX=/usr/local/redis installcd /usr/local/redismkdir conf log datacd /usr/local/redis/confcp /usr/local/redis-4.0.2/redis.conf .

修改内核参数:

echo 'vm.overcommit_memory = 1' >>  /etc/sysctl.confsysctl  -p

修改配置文件

主要修改以下值

daemonize no改为daemonize yes,以守护进程模式运行bind 127.0.0.0改为bind 0.0.0.0,监听本机所有端口

以下为一个cluster node redis.conf配置文件

[root@10-110-122-196 src]# cat /usr/local/redis-cluster-shijing2/redis/conf/7379.confbind 0.0.0.0protected-mode yesport 7379requirepass bigdata1234@le.commasterauth bigdata1234@le.commaxmemory 4000000000tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile "/var/run/redis_7379.pid"loglevel noticelogfile "../log/redis_7379.log"databases 16always-show-logo yessave 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename "dump.rdb"dir "../data"slave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100lazyfree-lazy-eviction nolazyfree-lazy-expire nolazyfree-lazy-server-del noslave-lazy-flush noappendonly noappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yesaof-use-rdb-preamble nolua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yescluster-enabled yescluster-config-file "7379.conf"

cluster搭建

1.将单点redis.conf复制多份

[root@10-110-122-196 conf]# pwd/usr/local/redis-cluster-shijing2/redis/conf[root@10-110-122-196 conf]# lltotal 28-rw-r--r-- 1 root root 1362 May 31 16:52 7379.conf-rw-r--r-- 1 root root 1362 May 31 16:52 7380.conf-rw-r--r-- 1 root root 1362 May 31 16:53 7381.conf-rw-r--r-- 1 root root 1362 May 31 16:53 7382.conf-rw-r--r-- 1 root root 1362 May 31 16:53 7383.conf-rw-r--r-- 1 root root 1362 May 31 16:53 7384.conf

配置文件需要修改的地方

  • 需要更改的值有port pidfile cluster-config-file logfile,使用sed命令进行批量统一更改即可
  • 需要加入的值为 cluster-enabled yes

其中dbfilename的文件名和dir路径可以不变

2.cluster的初始化

ruby环境安装

yum -y install gcc ruby ruby-devel rubygems rpm-build zlib

ruby-redis接口安装(ruby版本太低可以使用rvm安装,如果rvm无法安装,可直接升级ruby,相关升级ruby的步骤见本文最后)

gem install redis

启动各节点,初始化集群

cd到 redis/src中,找到redis-trib.rb文件,执行

redis-trib.rb  create --replicas 1 host_ip:prot1 host_ip:port2例:./redis-trib.rb create --replicas 1 10.110.122.196:7379 10.110.122.196:7380 10.110.122.196:7381 10.110.122.196:7382 10.110.122.196:7383 10.110.122.196:7384其中--replicas 1表示有一个slave,以上例子中共6个实例,表示3主3从

执行到这里之后基本就完成了集群的搭建;可以通过redis-cli连接到任意节点,查看 cluster info

3.redis-cluster添加密码

如果redis实例添加了密码,则需要修改redis-trib.rb文件

在def connect(o={})这个函数中,
将@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60)改成
@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "填入你的redis密码")

然后再在初始化

同时单个实例中的配置文件需要写入requirepass和masterauth的值,以便密码永久保存
如下例

requirepass bigdata1234@le.commasterauth bigdata1234@le.com

4.查看cluster状态

10.110.122.196:7379> CLUSTER infocluster_state:ok10.110.122.196:7379> CLUSTER NODES735d1a01bd4a8cba0d37fab42d1764775cb91cfd 10.110.122.196:7381@17381 master - 0 1527762245102 3 connected 10923-16383bfd7678b97b5bb627a34e71d09b67982ecce4a7b 10.110.122.196:7384@17384 slave 735d1a01bd4a8cba0d37fab42d1764775cb91cfd 0 1527762247108 6 connected

5.节点相互meet

在redis-cli 中 使用 meet IP PORT 即可与其它节点握手

redis的优化

  • 密码设置
10.110.122.196:7379> config set requirepass Bigdata4321@le.com
  • 最大内存设置,建议设定,否则会占用系统最大内存
10.110.122.196:7379> CONFIG SET maxmemory 4G

每个节点上面都需要设置,集群最大内存大小为master最大内存总和
设置之后,使用info可以查看到最大内存值
也可以使用config get maxmemory

以上两者需要持久化保持时,必须写入配置文件中

  • 对应实例密码写入,在集群初始化的时候,可以先不进行指定,直接初始化,然后在redis-cli中使用config set masterauth "bigdata1234@le.com"和config set requirepass "bigdata1234@le.com"指定两个值,同时在使用config rewrite保存,这两个值需要在所有集群实例上进行设定

rvm无法升级ruby情况的解决

因为gem需要ruby2.2.3版本以上,系统自带的可能一般为1.8.7版本可直接进行ruby新版本的安装。redis cluster中,只在初始化的时候,对ruby环境有特别要求

wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0.tar.gztar xvf ruby-2.6.0.tar.gz -C /usr/localcd /usr/local/ruby-2.6.0/./configure --prefix=/usr/local/rubymake -j 4make installcd /usr/local/rubybin/ruby -v

然后修改redis/src中redis-trib.rb文件中的Sha-Bang
如本文中将#!/usr/bin/env ruby修改为#!/usr/local/ruby/bin/ruby

或者直接更新/etc/profile,更新env即可

[root@vm-10-124-64-251 src]# tail -2 /etc/profileexport RUBY_HOME=/usr/local/rubyexport PATH=$RUBY_HOME/bin:$PATH[root@vm-10-124-64-251 src]# /usr/bin/env ruby -vruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]

以上ruby版本已经变更成2.6

2425483e24f0671363fdd303d7dbfe07.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值