redis cluster install

官网下载最新包
解压 进入目录  redis-3.2.0
make
可能会遇到报错
make[3]: Entering directory `/home/redis/redis-3.2.0/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c
make[3]: gcc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/home/redis/redis-3.2.0/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/home/redis/redis-3.2.0/deps'
make[1]: [persist-settings] Error 2 (ignored)
    CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/redis/redis-3.2.0/src'
make: *** [all] Error 2


一个是缺gcc  直接yum 安装 ,另一个解决方法
make MALLOC=libc

然后错误消失
make install

/home/redis/7000
/home/redis/7001
cp redis-3.2.0/redis.conf 7000/
cp redis-3.2.0/redis.conf 7001/
[ redis@iovsynchronous 7000]$ vim redis.conf 

bind 172.31.0.220
daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_7000.pid    //pidfile文件对应7000
port  7000                                  //端口7000
cluster-enabled  yes                    //开启集群  把注释#去掉
cluster-config-file  nodes.conf      //集群的配置  配置文件首次启动自动生成
cluster-node-timeout  5000      //请求超时  设置5秒够了
appendonly  yes                        //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

启动 会发现3个警告


/proc/sys/net/core/somaxconn 此值表示网络连接的队列大小
,在配置文件redis.conf中的“tcp-backlog 511”就配置在高并发环境下的最大队列大小,此值受限于系统的somaxconn与tcp_max_syn_backlog这两个值,所以应该把这两个内核参数值调大;
 WARNING overcommit_memory is set to 0!
这个告警是overcommit_memory是被设置为0的,在主机配置较少内存时,redis运行可能出现故障
overcommit_memory有3个参数0,1,2
0.表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1. 表示内核允许分配所有的物理内存,而不管当前的内存状态如何
2.表示内核允许分配超过所有物理内存和交换空间总和的内存
 WARNING you have Transparent Huge Pages (THP) support enabled in your kernel
照他说的  echo never > /sys/kernel/mm/transparent_hugepage/enabled


具体解决方法如下
vim /etc/sysctl.conf

#最大队列长度,应付突发的大并发连接请求
net.core.somaxconn = 65535
#半连接队列长度,此值受限于内存大小
net.ipv4.tcp_max_syn_backlog = 20480
#内存分配策略.
vm.overcommit_memory = 1

使之生效
 sysctl -p
在重启之,发现告警已经没有了~~!

./redis-trib.rb create --replicas 1 172.31.0.220:7000 172.31.0.223:7001 172.31.0.223:7000 172.31.0.224:7001 172.31.0.224:7000 172.31.0.220:7001
搭建集群会发现提示错误 没有ruby环境
/usr/bin/env: ruby: No such file or directory
1.yum 安装ruby
     yum install ruby   &&  yum install  rubygem
     接下去需要安装ruby的redis api
    wegt https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem
    gem install -l ./redis-3.2.2.gem
2.源码安装
    去官网下载1.9版本以上的ruby

     通过源码安装 Ruby。下载,解压,然后执行:

$ ./configure
$ make
$ sudo make install
默认情况下,Ruby 安装到 /usr/local 目录。如果想使用其他目录,可以把 --prefix=DIR 选项传给 ./configure 脚本。

   
   
 接下去需要安装ruby的redis api
    wegt https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem
    gem install -l ./redis-3.2.2.gem
配置集群,如果3台服务器,让3个主节点和从节点分开,不要都在同一台服务器上
./redis-trib.rb create --replicas 1 172.31.0.220:7000 172.31.0.223:7001 172.31.0.223:7000 172.31.0.224:7001 172.31.0.224:7000 172.31.0.220:7001


集群OK~

测试集群
redis-cli -c



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值