为了账号安全,请及时绑定邮箱和手机立即绑定

redis 4.0.11 集群搭建

标签:
Redis

    • Port: 7000

    • Port: 7001

    • Port: 7000

    • Port: 7001

    • Port: 7000

    • Port: 7001

    • IP: 10.241.0.10

    • IP: 10.241.0.11

    • IP: 10.241.0.12

redis集群安装

下载安装redis(所有节点)

wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar zxvf redis-4.0.11.tar.gzcd redis-4.0.11
makecd src/
make install

配置redis

node1

mkdir -p /data/redis/{7000,7001}/data
mkdir -p /usr/local/redis-cluster/bin
mkdir -p /usr/local/redis-cluster/7000cp ../redis.conf  /usr/local/redis-cluster/7000/#修改以下配置vim /usr/local/redis-cluster/7000/redis.conf
bind 10.241.0.10   #绑定本机IPdaemonize yes       #开启后台运行dir /data/redis/7000/data       #数据存放路径port 7000           #监听端口pidfile /var/run/redis_7000.pid #pid文件logfile /var/log/redis_7000.log #log文件cluster-enabled yes             #打开注释cluster-config-file nodes.conf  #打开注释cluster-node-timeout 15000      #打开注释appendonly yes                  #开启持久化#7001节点配置cp  -rf /usr/local/redis-cluster/7000/  /usr/local/redis-cluster/7001/
sed -i 's/7000/7001/g' /usr/local/redis-cluster/7001/redis.conf#将配置文件copy到其他的节点scp -r /usr/local/redis-cluster/{7000,7001}  root@10.241.0.11:/usr/local/redis-cluster/scp -r /usr/local/redis-cluster/{7000,7001}  root@10.241.0.12:/usr/local/redis-cluster/

node2

mkdir -p /data/redis/{7000,7001}/data
mkdir -p /usr/local/redis-cluster/bin
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin
sed -i 's/10.241.0.10/10.241.0.11/g' /usr/local/redis-cluster/7000/redis.conf 
sed -i 's/10.241.0.10/10.241.0.11/g' /usr/local/redis-cluster/7001/redis.conf

node3

mkdir -p /data/redis/{7000,7001}/data
mkdir -p /usr/local/redis-cluster/bin
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin
sed -i 's/10.241.0.10/10.241.0.12/g' /usr/local/redis-cluster/7000/redis.conf 
sed -i 's/10.241.0.10/10.241.0.12/g' /usr/local/redis-cluster/7001/redis.conf

启动redis(所有节点)

/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7000/redis.conf
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/7001/redis.conf

ps -ef|grep redis
root      3079     1  0 00:26 ?        00:00:00 /usr/local/redis-cluster/bin/redis-server 10.241.0.10:7000 [cluster]
root      3243     1  0 00:28 ?        00:00:00 /usr/local/redis-cluster/bin/redis-server 10.241.0.10:7001 [cluster]

netstat -nplt|grep redis-server
tcp        0      0 10.241.0.10:17000    0.0.0.0:*               LISTEN      3243/redis-server 1 
tcp        0      0 10.241.0.10:17001    0.0.0.0:*               LISTEN      3079/redis-server 1 
tcp        0      0 10.241.0.10:7000     0.0.0.0:*               LISTEN      3243/redis-server 1 
tcp        0      0 10.241.0.10:7001     0.0.0.0:*               LISTEN      3079/redis-server 1

iptables放行

#如开iptables,需注意,端口放行, 注意17000,17001也要放行,不然加入不到集群-A INPUT -p tcp -m tcp --dport 7000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7001 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 17000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 17001 -j ACCEPT

配置集群(只在node1操作)

安装ruby

wget https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.7.tar.gz
tar xvf ruby-2.2.7.tar.gzcd ruby-2.2.7
./configure --prefix=/usr/local/ruby-2.2.7
make && make install
ln -s /usr/local/ruby-2.2.7/bin/ruby /usr/bin/ruby
ln -s /usr/local/ruby-2.2.7/bin/gem /usr/bin
ruby -v
gem -v

使用gem安装redis集群依赖

gem install redis

创建集群

如集群都设置了密码,需要修该
/usr/local/ruby-2.2.7/lib/ruby/gems/2.2.0/gems/redis-4.0.1/lib/redis/client.rb 文件中的
Password 参数将密码写入到这里,
/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 10.241.0.10:7000 10.241.0.10:7001 10.241.0.11:7000 10.241.0.11:7001  10.241.0.12:7000 10.241.0.12:7001Using 3 masters:10.241.0.10:7000
10.241.0.11:7000
10.241.0.12:7000
Adding replica 10.241.0.11:7001 to 10.241.0.10:7000
Adding replica 10.241.0.12:7001 to 10.241.0.11:7000
Adding replica 10.241.0.10:7001 to 10.241.0.12:7000
M: ade53fb12571212ae25a84e55c0fb0311d05a26e 10.241.0.10:7000
   slots:0-5460 (5461 slots) master
S: 8b9fde5ec861254715516f07cf84b029e8cfe6d5 10.241.0.10:7001
   replicates 407b6b0b0425e89e4e63fde2c3894616a31df869
M: 42dbdc9435bc216941db2c46f73c663812cbf8ff 10.241.0.11:7000
   slots:5461-10922 (5462 slots) master
S: 538372e405c12e3ed7d5b1da6a2736ff4f393277 10.241.0.11:7001
   replicates ade53fb12571212ae25a84e55c0fb0311d05a26e
M: 407b6b0b0425e89e4e63fde2c3894616a31df869 10.241.0.12:7000
   slots:10923-16383 (5461 slots) master
S: ff8b973753031d2d87c75eaca5530ff4f7ccb22f 10.241.0.12:7001
   replicates 42dbdc9435bc216941db2c46f73c663812cbf8ff
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..>>> Performing Cluster Check (using node 10.241.0.10:7000)M: ade53fb12571212ae25a84e55c0fb0311d05a26e 10.241.0.10:7000
   slots:0-5460 (5461 slots) master   1 additional replica(s)S: 538372e405c12e3ed7d5b1da6a2736ff4f393277 10.241.0.11:7001
   slots: (0 slots) slave
   replicates ade53fb12571212ae25a84e55c0fb0311d05a26eM: 407b6b0b0425e89e4e63fde2c3894616a31df869 10.241.0.12:7000
   slots:10923-16383 (5461 slots) master   1 additional replica(s)M: 42dbdc9435bc216941db2c46f73c663812cbf8ff 10.241.0.11:7000
   slots:5461-10922 (5462 slots) master   1 additional replica(s)S: 8b9fde5ec861254715516f07cf84b029e8cfe6d5 10.241.0.10:7001
   slots: (0 slots) slave
   replicates 407b6b0b0425e89e4e63fde2c3894616a31df869S: ff8b973753031d2d87c75eaca5530ff4f7ccb22f 10.241.0.12:7001
   slots: (0 slots) slave
   replicates 42dbdc9435bc216941db2c46f73c663812cbf8ff
[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...
[OK] All 16384 slots covered.

验证集群

#通过客户端命令连接上,通过集群命令看一下状态和节点信息等/usr/local/redis-cluster/bin/redis-cli  -h 10.241.0.11 -p 7001 -c10.241.0.11:7001> cluster infocluster_state:okcluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:6cluster_size:3cluster_current_epoch:6cluster_my_epoch:5cluster_stats_messages_ping_sent:97cluster_stats_messages_pong_sent:101cluster_stats_messages_meet_sent:3cluster_stats_messages_sent:201cluster_stats_messages_ping_received:99cluster_stats_messages_pong_received:100cluster_stats_messages_meet_received:2cluster_stats_messages_received:20110.241.0.11:7001> cluster nodes
ff8b973753031d2d87c75eaca5530ff4f7ccb22f 10.241.0.12:7001@17001 slave 42dbdc9435bc216941db2c46f73c663812cbf8ff 0 1541524337000 3 connected407b6b0b0425e89e4e63fde2c3894616a31df869 10.241.0.12:7000@17000 myself,master - 0 1541524335000 5 connected 10923-16383ade53fb12571212ae25a84e55c0fb0311d05a26e 10.241.0.10:7000@17000 master - 0 1541524336735 1 connected 0-5460538372e405c12e3ed7d5b1da6a2736ff4f393277 10.241.0.11:7001@17001 slave ade53fb12571212ae25a84e55c0fb0311d05a26e 0 1541524337000 4 connected42dbdc9435bc216941db2c46f73c663812cbf8ff 10.241.0.11:7000@17000 master - 0 1541524338739 3 connected 5461-109228b9fde5ec861254715516f07cf84b029e8cfe6d5 10.241.0.10:7001@17001 slave 407b6b0b0425e89e4e63



作者:baiyongjie
链接:https://www.jianshu.com/p/abff4b70915a


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
201
获赞与收藏
871

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消