共计 4890 个字符,预计需要花费 13 分钟才能阅读完成。
Redis3.2.8 集群部署
第一步:安装 redis
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar xfredis-3.2.8.tar.gz
cd redis-3.2.8/
make – 编译安装
make install #将可执行文件拷贝到 /usr/local/bin 目录下
也可以 PREFIX=“”指定目录
makePREFIX=/some/other/directory install #指定二进制命令目录
cdredis-3.2.8/
cp redis-3.2.8/utils/redis_init_script/etc/init.d/redis #复制启动脚本
编辑
vi/etc/rc.d/init.d/redis,并在文档第二行添加# chkconfig: 2345 8090。如果 /usr/local/redis/bin 中没有 redis-server 和 redis-cli 文件的话,我们要在我们的安装目录下复制一个过来。否则服务启动时找不到 redis-server
在 $EXEC $CONF 后面加 $
mkdir /etc/redis
cpredis.conf /etc/redis/6379.conf
启动脚本
推荐在生产环境中使用启动脚本方式启动 redis 服务。启动脚本 redis_init_script 位于位于 Redis 的 /utils/ 目录下。
# 大致浏览下该启动脚本,发现 redis 习惯性用监听的端口名作为配置文件等命名,我们后面也遵循这个约定。
#redis 服务器监听的端口
REDISPORT=6379
# 服务端所处位置,在 make install 后默认存放与 `/usr/local/bin/redis-server`,如果未 make install 则需要修改该路径,下同。
EXEC=/usr/local/bin/redis-server
# 客户端位置
CLIEXEC=/usr/local/bin/redis-cli
#Redis 的 PID 文件位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
# 配置文件位置,需要修改
CONF=”/etc/redis/${REDISPORT}.conf”
第二步:集群配置
创建 redis 节点
测试我们选择 2 台服务器,分别为:192.168.100.11,192.168.100.15. 每分服务器有 3 个节点。
在 192.168.100.11 上创建三个节点
mkdir -p /usr/local/redis-cluster
cd redis-cluster
mkdir 7000 7001 7002
复制 redis.conf 到 7000 7001 7002 目录下并修改配置文件端口
redis-server 是从 redis 的安装目录中的 src 里 copy 过来就好
redis.conf 内容如下;
#======================================#
port 6379 #不同目录,这里端口对应不同
cluster-enabled yes #开启集群功能
cluster-config-file nodes.conf #节点配置文件,这个文件是服务启动时自己配置创建的
cluster-node-timeout 5000
appendonly yes
mkdir /usr/local/redis-cluster
rsync -avz /usr/local/redis-cluster/ root@192.168.18.115:/usr/local/redis-cluster/
在 192.168.100.11 修改完成节点,通过 rsync 同步到 192.168.100.15 上。
第三步:创建集群
[root@mylab1src]# ./redis-trib.rb create –replicas 1 192.168.100.11:7000192.168.100.11:7001 192.168.100.11:7002 192.168.100.15:7000 192.168.100.15:7001192.168.100.15:7002
>>>Creating cluster
>>>Performing hash slots allocation on 6 nodes…
Using3 masters:
192.168.100.15:7000
192.168.100.11:7000
192.168.100.15:7001
Addingreplica 192.168.100.11:7001 to 192.168.100.15:7000
Addingreplica 192.168.100.15:7002 to 192.168.100.11:7000
Addingreplica 192.168.100.11:7002 to 192.168.100.15:7001
M:730e03c2092124f1c284c79266eded188aee0388 192.168.100.11:7000
slots:5461-10922 (5462 slots) master
S:23c6df13bfc80f7980dd9735e91561cc073e9c1f 192.168.100.11:7001
replicatese55076d490739db93ec7ca21031b85abb5904555
S:169c46253de8bea9e4f4763d6f222400ad52cbf6 192.168.100.11:7002
replicatesbb62ebc69e14ffc258bc8862e3cfe32b8391a5bb
M:e55076d490739db93ec7ca21031b85abb5904555 192.168.100.15:7000
slots:0-5460 (5461 slots) master
M:bb62ebc69e14ffc258bc8862e3cfe32b8391a5bb 192.168.100.15:7001
slots:10923-16383 (5461 slots) master
S:e06ad950d3cc1724990e85d4bfa3b0381d4e74a7 192.168.100.15:7002
replicates730e03c2092124f1c284c79266eded188aee0388
Can Iset the above configuration? (type ‘yes’ to accept):
>>>Nodes configuration updated
>>>Assign a different config epoch to each node
>>>Sending CLUSTER MEET messages to join the cluster
Waitingfor the cluster to join…
>>>Performing Cluster Check (using node 192.168.100.11:7000)
M:730e03c2092124f1c284c79266eded188aee0388 192.168.100.11:7000
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S:169c46253de8bea9e4f4763d6f222400ad52cbf6 192.168.100.11:7002
slots: (0 slots) slave
replicatesbb62ebc69e14ffc258bc8862e3cfe32b8391a5bb
S:23c6df13bfc80f7980dd9735e91561cc073e9c1f 192.168.100.11:7001
slots: (0 slots) slave
replicatese55076d490739db93ec7ca21031b85abb5904555
S:e06ad950d3cc1724990e85d4bfa3b0381d4e74a7 192.168.100.15:7002
slots: (0 slots) slave
replicates730e03c2092124f1c284c79266eded188aee0388
M:e55076d490739db93ec7ca21031b85abb5904555 192.168.100.15:7000
slots:0-5460 (5461 slots) master
1 additional replica(s)
M:bb62ebc69e14ffc258bc8862e3cfe32b8391a5bb 192.168.100.15:7001
slots:10923-16383 (5461 slots) master
1 additional replica(s)
[OK]All nodes agree about slots configuration.
>>>Check for open slots…
>>>Check slots coverage…
[OK]All 16384 slots covered.
第四步:测试
使用 redis-cli
首先登入 7000 这个端口的 redis 服务
./redis-cli -c -h 192.168.100.11 -p 7000
192.168.100.11:7000> set name andyhua.chen
在 192.168.100.15 上登录 7002 端口
./redis-cli -c -h 192.168.100.15 -p 7002
192.168.100.15:7002> get name #如果没有集群的话,这里肯定是没有的,现在则出现如下情况
-> Redirected to slot [5798] located at 192.168.100.11:7000
“andyhua.chen”
下面关于 Redis 的文章您也可能喜欢,不妨参考下:
Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm
Redis 主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm
CentOS 7 下 Redis 的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm
Ubuntu 14.04 安装 Redis 与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Redis 单机 & 集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm
CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Ubuntu 15.10 下 Redis 集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm
Redis 实战 中文 PDF http://www.linuxidc.com/Linux/2016-04/129932.htm
Redis 热迁移实战总结 http://www.linuxidc.com/Linux/2017-02/141083.htm
Redis3.0 配置文件详解 http://www.linuxidc.com/Linux/2017-03/141369.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141855.htm