1、下载安装包
2、上传安装包
redis-3.0.6.tar.gz
3、解压
tar -zxvf redis-3.0.6.tar.gz -C /opt/module/
4、修改安装目录
[root@hadoop102 redis-3.0.6]# pwd
/opt/module/redis-3.0.6
[root@hadoop102 redis-3.0.6]# vim src/Makefile
# redis 安装目录
PREFIX?=/usr/local/redis3.0.6
INSTALL_BIN=$(PREFIX)/bin
INSTALL=install
5、安装依赖
yum install readline-devel pcre-devel openssl-devel perl gcc-c++ -y
6、编译安装
[root@hadoop102 redis-3.0.6]# pwd
/opt/module/redis-3.0.6
[root@hadoop102 redis-3.0.6]# make && make install
7、创建相关目录
[root@hadoop102 redis3.0.6]# pwd
/usr/local/redis3.0.6
[root@hadoop102 redis3.0.6]# mkdir -p cluster/7001
8、复制 redis.conf
[root@hadoop102 7001]# pwd
/usr/local/redis3.0.6/cluster/7001
[root@hadoop102 7001]# cp /opt/module/redis-3.0.6/redis.conf ./
[root@hadoop102 7001]# ls -l
总用量 44
-rw-r--r--. 1 root root 41560 3月 14 18:26 redis.conf
9、配置 redis.conf
# redis 后台启动
daemonize yes
# redis 进程pid存放地
pidfile /usr/local/redis3.0.6/cluster/7001/redis.pid
# redis 客户端端口
port 7001
# redis 日志存放地
logfile "/usr/local/redis3.0.6/cluster/7001/log.txt"
# rdb 文件
dbfilename dump-7001.rdb
# 是否启动 aof 可选
appendonly yes
# aof 文件
appendfilename "appendonly-7001.aof"
10、配置其他主机
在其他主机配置同上面一样,注意创建目录700x不同和配置redis.conf有一些不同。比如上面是在hadoop102上配置,需要在hadoop103、hadoop104同理配置。
11、配置 sentinel.conf
[root@hadoop102 redis3.0.6]# cd cluster/
[root@hadoop102 cluster]# pwd
/usr/local/redis3.0.6/cluster
[root@hadoop102 cluster]# vim sentinel.conf
# 添加如下内容
sentinel monitor mymaster 192.168.200.102 7001 1
说明:sentinel monitor 为主机命名 主机IP 主机端口号 将主机判定为下线时需要Sentinel同意的数量
12、启动 redis
[root@hadoop102 ~]# cd /usr/local/redis3.0.6/
[root@hadoop102 redis3.0.6]# bin/redis-server cluster/7001/redis.conf
[root@hadoop103 redis3.0.6]# pwd
/usr/local/redis3.0.6
[root@hadoop103 redis3.0.6]# bin/redis-server cluster/7002/redis.conf
[root@hadoop104 redis3.0.6]# pwd
/usr/local/redis3.0.6
[root@hadoop104 redis3.0.6]# bin/redis-server cluster/7003/redis.conf
13、检查redis是否启动
ps -ef | grep redis
14、运行 sentinel.conf 配置
15、启动redis客户端
[root@hadoop102 redis3.0.6]# bin/redis-cli -p 7001
[root@hadoop103 redis3.0.6]# bin/redis-cli -p 7002
[root@hadoop104 redis3.0.6]# bin/redis-cli -p 7003
16、查看角色
127.0.0.1:7001> info replication
127.0.0.1:7002> info replication
127.0.0.1:7003> info replication
17、更改角色
语法:slaveof host/ip port
hadoop103:
127.0.0.1:7001>SLAVEOF 192.168.200.102 7001
hadoop104::
127.0.0.1:7001>SLAVEOF 192.168.200.102 7001
此时在查看角色 hadoop102 为master hadoop103和hadoop104为slave
18、测试主从复制
hadoop102:
127.0.0.1:7001> set hello world
hadoop103:
127.0.0.1:7001>get hello
“world”
hadoop104:
127.0.0.1:7001>get hello
“world”
hadoop103、hadoop104不能增加修改数据 只能读取数据
19、测试master宕机
[root@hadoop102 redis3.0.6]# ps -ef | grep redis
root 84358 52954 0 18:58 pts/3 00:00:11 bin/redis-sentinel *:26379 [sentinel]
root 84665 49088 0 19:25 pts/2 00:00:00 grep --color=auto redis
[root@hadoop102 redis3.0.6]# kill -9 84358
此时查看 hadoop103、hadoop104那个主机被选举程master
当hadoop102 重新启动时,需要重新加入。