redis集群搭建

一、ruby环境搭建
www.ruby-lang.org/en/downloads/

下载 Ruby 之后,解压到新创建的目录下:
$  tar -xvzf ruby-2.2.3.tgz     
$ cd ruby-2.2.3
现在,配置并编译源代码,如下所示:
$ ./configure
$ make
$ sudo make install
安装后,通过在命令行中输入以下命令来确保一切工作正常:
$ruby -v
ruby 2.2.3……

二、安装gem
https://rubygems.org/gems/redis
sudo gem install redis-3.3.3.gem --local

假如报下错:

ERROR:  Loading command: install (LoadError)  
    cannot load such file -- zlib  
ERROR:  While executing gem ... (NoMethodError)  
undefined method `invoke_with_build_args' for nil:NilClass

缺少zlib库:

参考https://blog.youkuaiyun.com/qq_21383435/article/details/79539034安装

安装完后需要使之生效:

集成zlib库到ruby环境
cd /data/ruby-2.4.2
cd ext/zlib
ruby extconf.rb
make && make install
 

三、安装redis

1、首先上官网下载Redis 压缩包,地址:http://redis.io/download

2、拷贝到linux

3、解压: tar zxvf redis.tar.gz

4、cd redis

5、make

6、cd src

6、make install

7、配置redis.conf

port  7000                           //端口7000,7002,7003       

bind 10.93.84.53                     //默认ip127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群

daemonize    yes                     //redis后台运行

pidfile  ./redis_7000.pid            //pidfile文件对应7000,7001,7002

cluster-enabled  yes                 //开启集群  把注释#去掉

cluster-config-file  nodes_7000.conf //集群的配置  配置文件首次启动自动生成

cluster-node-timeout  15000          //请求超时  默认15秒,可自行设置

appendonly  yes                      //aof日志

pidfile /var/run/redis_6379.pid  //redis-server进程的pid

logfile "log6370.log“

8、启动redis,改变配置里的端口,启动多台redis

redis-server ./redis.conf

四、创建集群:

/app/ruby/redis-3.2.8/src/redis-trib.rb create --replicas 1 192.168.0.1:6370 192.168.0.2:6371 192.168.0.3:6372 192.168.0.4:6374 192.168.0.5:6375 192.168.0.6:6376

连接集群:

redis-cli -h 192.168.0.1 -c -p 6370

查看集群状态:cluster info

查看集群节点信息:cluster nodes

 

五、给集群设置密码:

连接每个实例|redis-cli -h 92.168.0.1 -c -p 6370

 

--masterauth主要用在slave同步master内容时,能过顺利通过验证,如果不配置slave将连不上master

config set masterauth passwd123

--requirepass用于配置本redis server的密码
config set requirepass passwd123
--登录密码
auth passwd123
--写入配置文件
config rewrite 

注意:各个节点密码都必须一致,否则Redirected就会失败, 推荐这种方式,这种方式会把密码写入到redis.conf里面去,且不用重启。

带密码访问集群
./redis-cli -h 192.168.0.1 -c -p 6370 -a passwd123

注意事项:

1.如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码,集群构建完毕再通过config set + config rewrite命令逐个机器设置密码

2.如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志

3.各个节点的密码都必须一致,否则Redirected就会失败

 

 

六、补充集群动态增删节点:

添加节点
1、新建6385redis,并加到集群
./redis-trib.rb add-node 192.168.0.1:6385 192.168.0.1:6379
2、重新分配节点
./redis-trib.rb reshard 192.168.0.1:6379
输入分配的数量
输入接收槽的结点id,all为从所有节点随机抽取,输入done完成
3、添加从节点
新建节点,并启动
执行如下命令:前面为从节点,后面为要添加的所属主节点
./redis-trib.rb  add-node --slave 192.168.0.1:6386 192.168.0.1:6385

删除节点
1、删除从节点
./redis-trib.rb del-node 192.168.0.1:6386 8269aa9bce92bed5ba6b86525ef4ad710a0f9bc4
2、删除主节点
./redis-trib.rb reshard 192.168.0.1:6379
输入分配的数量
输入要删除的节点id,输入done完成
调用删除节点命令:./redis-trib.rb del-node 192.168.0.1:6386 8269aa9bce92bed5ba6b86525ef4ad710a0f9bc4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值