本博文摘自 www.cnblogs.com/wuxl360/p/5…
1.介绍安装环境与版本
用两台虚拟机模拟6个节点,一台机器2个节点,创建出1 master、1 salve 环境。 共三台机器 redis 采用 redis-3.2.4 版本。
2.安装包下载并解压
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz 
3.编译安装
cd redis-3.2.4
make && make install
4.将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src
cp redis-trib.rb /usr/local/bin/ 
5.集群
首先在 第一台 机器上 /root/software/redis-3.2.4 目录下创建 redis_cluster 目录;
mkdir redis_cluster
在 redis_cluster 目录下,创建名为7001、7002的目录,并将 redis.conf 拷贝到这两个目录中
cd redis_cluster
mkdir -p 7001
mkdir -p 7002
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002
分别修改这三个配置文件,修改如下内容
port 7001 //端口7000,7002,7003
bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
重复前三步操作, 启动所有个节点,三台共六个
redis-server redis_cluster/7001/redis.conf
redis-server redis_cluster/7002/redis.conf
检查是否启动成功
ps -ef | grep redis
集群创建 需要先安装ruby环境
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
创建集群
redis-trib.rb create --replicas 1 172.19.147.32:7001 172.19.147.32:7002 172.19.147.33:7001 172.19.147.33:7002
172.19.147.34:7001 172.19.147.34:7002
如果没报错,集群创建成功
6.集群验证 连接redis客户端
redis-cli -h 192.168.31.245 -c -p 7002
登录之后
<192.168.31.245:7001> set hello world
<192.168.31.245:7001> keys *
"hello"
连接另一台
<192.168.31.244:7002> get hello
"world"
说明集群运作正常。 Redis 集群会把数据存在一个 master 节点,然后在这个 master 和其对应的salve 之间进行数据同步。当读取数据时,也根据一致性哈希算法到对应的 master 节点获取数据。只有当一个master 挂掉之后,才会启动一个对应的 salve 节点,充当 master 。 需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。 实践过程中遇到ruby版本过低,安装不了集群,解决办法如下:
ruby -v
查看系统自带的ruby版本为2.0.0,版本太低, 执行gem install redis 这一步时会提示错误
安装yum源
yum install centos-release-scl-rh 
yum install rh-ruby24 -y
scl enable rh-ruby24 bash
查看ruby版本
ruby -v
7.redis 密码设置(自行选择)
(1).第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)
a.首先进入redis,如果没有开启redis则需要先开启:
[root@iZ94jzcra1hZ bin]# redis-cli -p 6379
127.0.0.1:6379>
b.查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
c.为以上显示说明没有密码,那么现在来设置密码:
127.0.0.1:6379> config set requirepass abcdefg
OK
127.0.0.1:6379>
d.再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379>
(2).第二种方式 (永久方式) 需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置: 修改redis.conf配置文件
requirepass 123 指定密码123
保存后重启redis就可以了