1.1. 装包
apt-get install -y ruby
apt-get install -y redis-server
gem install redis
1.2. 调整内存分配策略
在/etc/sysctl.conf后追加一行
vm.overcommit_memory=1
执行sysctl -p使配置生效
1.2.1. 内核的内存分配策略简介
可选值:0、1、2。
0,内核检查是否有足够的可用内存供应用进程使用;如果有,则内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2,表示内核允许分配超过所有物理内存和交换空间总和的内存
1.3. 关闭transparent_hugepage
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never> /sys/kernel/mm/transparent_hugepage/defrag
1.4. 创建目录,拷贝创建集群需要的目录
mkdir -p /usr/local/cluster/6000
mkdir -p /usr/local/cluster/6001
mkdir -p /usr/local/cluster/6002
cp -rf /etc/redis/* /usr/local/cluster/6000
cp -rf /etc/redis/* /usr/local/cluster/6001
cp -rf /etc/redis/* /usr/local/cluster/6002
1.5. 修改配置文件(以/usr/local/cluster/6000/redis.conf为例)
42 daemonize yes #以后台守护方式运行
46 pidfile /usr/local/cluser/6000/redis-server.pid #pid文件位置
50 port 6000 #监听端口
509 appendonly yes #以追加方式存储数据
513 appendfilename "appendonly6000.aof" #存储数据的文件
637 cluster-enabled yes #开启集群模式
645 cluster-config-file nodes-6000.conf #节点文件
651 cluster-node-timeout 15000 #节点超时时间
用6000/redis.conf覆盖6001,6002目录下的redis.conf,并修改对应的PID文件、端口、存储数据的文件、节点文件
1.6. 启动服务
cd /usr/local/cluster
redis-server 6000/redis.conf
redis-server 6001/redis.conf
redis-server 6002/redis.conf
1.7. 创建redis集群
cp /usr/share/doc/redis-tools/examples/redis-trib.rb /usr/bin/redis-trib.rb
redis-trib.rb create --replicas 0 127.0.0.1:6000 127.0.0.1:6001 127.0.0.1:6002
填入yes,回车
集群搭建成功
1.8. 验证集群
cluster info #查看集群信息
设置一个值,登录到其他两台服务器上查看是否有这个值
可以看到三台redis能实现数据同步,至此,集群搭建完毕