搭建完全分布式redis集群

来源:互联网 发布:java 日志输出级别 编辑:程序博客网 时间:2024/06/08 18:35

这里用三台服务器搭建一个完全分布式redis集群,用来做爬虫请求url的共享队列.每台服务器创建两个节点(一个master 一个slave),当mater挂了的时候slave会顶上去,这样就构成了一个三主三从的集群。

三台服务器:host1 host2 host3

6379端口为主节点,6380为辅助节点


1.下载

下载地址:http://download.redis.io/releases/

可选想要的版本进行下载,一般用http://download.redis.io/releases/redis-stable.tar.gz

cd /root

wget http://download.redis.io/releases/redis-stable.tar.gz

tar -zxvf redis-stable.tar.gz

mv redis-stable redis-6379


2编译redis

cd redis-6379

make

make install


3修改配置

vi redis.conf




#redis后台运行

daemonize yes

#允许访问的机器

bind 0.0.0.0

#端口

port 6379

#日志输入配置

loglevel notice

logfile"redis-6379.log"

#集群配置

#开启集群

cluster-enabled yes

#集群的配置,首次启动时会自动生成

cluster-config-filenode-6379.log

#请求超时时间当前设置为5

cluster-node-timeout 5000

#aof日志开启 ,每次写操作都会记录一条日志

appendonly yes



4启动 测试

src/redis-server redis.conf


ps -ef | grep redis


看到6379正在运行


5.搭建集群

安装 ruby

yum -y install ruby

yum -y install rubygems

安装 ruby redis 驱动

gem install redis


将redis-6379复制一份为redis-6380,再修改配置文件



#redis后台运行

daemonize yes

#允许访问的机器

bind 0.0.0.0

#端口

port 6380

#日志输入配置

loglevel notice

logfile"redis-6380.log"

#集群配置

#开启集群

cluster-enabled yes

#集群的配置,首次启动时会自动生成

cluster-config-filenode-6380.log

#请求超时时间当前设置为5

cluster-node-timeout 5000

#aof日志开启 , 每次写操作都会记录一条日志

appendonly yes


将这台服务器上的的redis-6379和redis-6380复制到另外两台服务器


命令创建集群:

src/redis-trib.rb create –replicas 1 host1:6379 106.host2:6379 host3:6379host1:6380 106.host2:6380 host3:6380 


  1表示主从关系1:1的比例,前三个是主节点)



查看集群情况:

src/redis-cli

cluster info


6集群测试

集群测试

进去集群环境:

[root@localhost cluster]# redis-cli -c -h 127.0.0.1 -p 6379

127.0.0.1:7000>set sex male

Ok

127.0.0.1:7000>get sex

male

切换任意节点:

[root@iZuf6c4xlucvh6ze6eng2hZ redis-6379]# src/redis-cli -c -h 127.0.0.1 -p 6379


[root@localhost cluster]# redis-cli -c -h 127.0.0.1 -p 7004

127.0.0.1:7004> get sex

-> Redirected to slot [2584] located at 127.0.0.1:7000

"male"


7.清空集群数据

src/cli

flushall


需要每个节点都要执行一次



8redis可视化操作工具

Redis Desktop Manager




9报错备注

1》 ruby版本太低

手动安装ruby环境

$ wget https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz

$ tar -zxvf ruby-2.2.3.tar.gz

$ cd ruby-2.2.3.tar.gz

$ ./configure

$ make && make install

查看安装是否成功

$ ruby -v

如果报错执行

$ export PATH=/usr/local/bin:$PATH

再测试

$ ruby -v


2》创建集群一直Waiting for the cluster to join...................

解决:


删除 nodes-6379.conf  redis-6379.log

根目录 Chmod -R 777 *

查看防火墙状态service iptables status

重新启动redis










原创粉丝点击