redis集群搭建

1、下载

cd /usr/local

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

2、解压安装

tar -zxvf redis-3.2.3.tar.gz

cd redis-3.2.3

安装需要gcc、tcl

yum install gcc

yum install tcl

安装

make MALLOC=libc

make install

 

3. 修改配置文件redis.conf

新建目录  mkdir /usr/local/redisCluster

cd /usr/local/redisCluster  

在redisCluster  下新建目录

mkdir 7000

mkdir 7001

mkdir 7002

mkdir 7003

mkdir 7004

mkdir 7005

复制文件到7000

cp -r /usr/local/redis-3.2.3/* /usr/local/redisCluster/7000

修改redis.conf

vim /usr/local/redisCluster/7000/redis.conf

##修改配置文件中的下面选项

port 7000

bind ip

pidfile  /var/run/redis_7000.pid

logfile  /var/log/redis_7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

注意:
port 端口

bind 默认本机IP或127.0.0.1 (内网IP,类型绑定网卡,指接收从哪里进来的请求。非指外部请求IP)

daemonize 是否作为守护线程运行,yes = 后台运行

cluster-enabled 是否开启集群

cluster-node-timeout 超时时间

appendonly 开启写入日志操作。每次写操作都会有一条日志

其他查询redis配置详解,这里就不详细记录了。

4、复制7000到其他节点上,并各自修改redis.conf 文件

cp  -r  /usr/local/data/redisCluster/7000/*  /usr/local/data/redisCluster/7001

cp  -r  /usr/local/data/redisCluster/7000/*  /usr/local/data/redisCluster/7002

cp  -r  /usr/local/data/redisCluster/7000/*  /usr/local/data/redisCluster/7003

cp  -r  /usr/local/data/redisCluster/7000/*  /usr/local/data/redisCluster/7004

cp  -r  /usr/local/data/redisCluster/7000/*  /usr/local/data/redisCluster/7005

修改每个节点上的redis.conf文件的以下内容 对应各自的端口

port

pidfile

logfile

bind ip

然后启动每一个节点

cd /usr/local/redisCluster/7000/

redis-server redis.conf

cd /usr/local/redisCluster/7001/

redis-server redis.conf

cd /usr/local/redisCluster/7002/

redis-server redis.conf

ps -aux | grep redis 查看redis 节点启动情况

5、创建集群

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,这个工具是用 ruby 实现的,所以需要安装 ruby

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

gem install redis

 

执行 Redis 集群创建命令(只需要在其中一个节点上执行一次则可)

 cd /usr/local/redisCluster/7000/src/

./redis-trib.rb create --replicas 1 115.29.168.55:7000 115.29.168.55:7001 115.29.168.55:7002 115.29.168.55:7003 115.29.168.55:7004 115.29.168.55:7005

注意:

1.这里的IP如果是内网IP,服务也需要在这个内网。否则访问不到,也可以设置外网IP。

2.--replicas 则指定了为Redis Cluster中的每个Master节点配备几个Slave节点  

节点角色由顺序决定,先master之后是slave

如果是多台服务器的redis集群,需要将多台服务器master全部写在前面,后面跟着全部slave节点

 

运行上面的创建集群命令,会出现询问,输入yes

出现上面的内容说明 集群创建成功

redis-cli命令进入集群环境

cd /usr/local/redisCluster/7000/src/

redis-cli -c -h 115.29.168.55 -p 7000(需要指定访问ip和端口)

尝试set key  和get key

查看cluster nodes

6、设置开机启动

vim /etc/init.d/redis 

输入以下脚本内容:

############### redis 服务开始#################
case "$1" in
start)
cd /usr/local/redisCluster/7000/src/
./redis-server ../redis.conf
echo "7000 Start ..."
cd /usr/local/redisCluster/7001/src/
./redis-server ../redis.conf
echo "7001 Start ..."
cd /usr/local/redisCluster/7002/src/
./redis-server ../redis.conf
echo "7002 Start ..."
cd /usr/local/redisCluster/7003/src/
./redis-server ../redis.conf
echo "7003 Start ..."
cd /usr/local/redisCluster/7004/src/
./redis-server ../redis.conf
echo "7004 Start ..."
cd /usr/local/redisCluster/7005/src/
./redis-server ../redis.conf
echo "7005 Start ..."


;;
stop)
cd /usr/local/redisCluster/7000/src/
./redis-cli -h 112.74.53.234 -p 7000 shutdown
echo "Waiting for Redis 7000 to shutdown ..."
./redis-cli -h 112.74.53.234 -p 7001 shutdown
echo "Waiting for Redis 7001 to shutdown ..."
./redis-cli -h 112.74.53.234 -p 7002 shutdown
echo "Waiting for Redis 7002 to shutdown ..."
./redis-cli -h 112.74.53.234 -p 7003 shutdown
echo "Waiting for Redis 7003 to shutdown ..."
./redis-cli -h 112.74.53.234 -p 7004 shutdown
echo "Waiting for Redis 7004 to shutdown ..."
./redis-cli -h 112.74.53.234 -p 7005 shutdown
echo "Waiting for Redis 7005 to shutdown ..."

 

;;
restart)
cd /usr/local/redisCluster/7000/src/
./redis-cli -h 112.74.53.234 -p 7000 shutdown
./redis-cli -h 112.74.53.234 -p 7001 shutdown
./redis-cli -h 112.74.53.234 -p 7002 shutdown
./redis-cli -h 112.74.53.234 -p 7003 shutdown
./redis-cli -h 112.74.53.234 -p 7004 shutdown
./redis-cli -h 112.74.53.234 -p 7005 shutdown
cd /usr/local/redisCluster/7000/src/
./redis-server ../redis.conf
echo "7000 Start ..."
cd /usr/local/redisCluster/7001/src/
./redis-server ../redis.conf
echo "7001 Start ..."
cd /usr/local/redisCluster/7002/src/
./redis-server ../redis.conf
echo "7002 Start ..."
cd /usr/local/redisCluster/7003/src/
./redis-server ../redis.conf
echo "7003 Start ..."
cd /usr/local/redisCluster/7004/src/
./redis-server ../redis.conf
echo "7004 Start ..."
cd /usr/local/redisCluster/7005/src/
./redis-server ../redis.conf
echo "7005 Start ..."


;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart}" >&2
exit 1
esac

############### redis 服务结束#################

赋予权限chmod +x /etc/init.d/ redis

配置成服务

vi /usr/lib/systemd/system/redis.service

输入内容

[Unit]
Description=redis
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/redis start
ExecReload=/etc/init.d/redis restart
ExecStop=/etc/init.d/redis stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

 

设置该服务开机启动

systemctl enable redisd.service

service redis start  启动

service redis stop  停止

service redis restart 重新启动

 

redis重建集群

1、关闭cluster全部节点
2、删除所有nodes.conf文件
3、开启全部节点  redis-cli -c -h 112.74.53.234 -p 7000
4、依次 FLUSHALL   CLUSTER RESET SOFT
5、重建集群即可  

转载于:https://www.cnblogs.com/chenwh/p/6840730.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值