redis二进制部署
【准备环境】
Linux centos7
redis下载包 地址:http://www.redis.cn/download.html 或 http://download.redis.io/releases/ 前往下载稳定版本
【安装】
1.下载、解压、编译Redis
wget http://download.redis.io/releases/redis-5.0.9.tar.gz
tar -zxvf redis-5.0.9.tar.gz
cd redis-5.0.9
make
2.创建目录安装 并且指定目录,完成安装
mkdir /usr/local/redis
make install PREFIX = /usr/local/redis
cd src && make install
3.准备配置文件、启动服务
mkdir -p /usr/local/redis/{conf,bin}
cp redis-5.0.9/redis.conf /usr/local/redis/conf
cd /usr/local/redis/bin && ./redis-server /usr/local/redis/conf
三、redis cluster安装配置
#安装redis 参考地址:https://www.cnblogs.com/cqming/p/11191079.html
cd /data
#准备配置文件和已编译好的二进制(就是make完 bin下的一些可执行文件)启动命令
IP=`ip r|head -2|tail -1|awk '{print $(NF-2)}'`
/usr/bin/mv usr/local/bin/* /usr/local/bin/
mkdir -p /redisdata/data/{7000,7001}
mkdir -p /redisdata/config/{7000,7001}
mkdir -p /redisdata/logs/{7000,7001}
/usr/bin/mv 700* /redisdata/config/
sed -i "s#/var/run/redis_6379.pid#/redisdata/logs/7000/redis_7000.pid#" /redisdata/config/7000/redis.conf
sed -i "s#/var/run/redis_6379.pid#/redisdata/logs/7001/redis_7001.pid#" /redisdata/config/7001/redis.conf
sed -i "s#127.0.0.1#$IP#" /redisdata/config/7000/redis.conf
sed -i "s#127.0.0.1#$IP#" /redisdata/config/7001/redis.conf
sed -i "s#^dir.*#dir /redisdata/data/7000#" /redisdata/config/7000/redis.conf
sed -i "s#^dir.*#dir /redisdata/data/7001#" /redisdata/config/7001/redis.conf
sed -i "s#^\# masterauth.*#masterauth 12nDd8T62qV212#" /redisdata/config/7000/redis.conf
sed -i "s#^\# masterauth.*#masterauth 12nDd8T62qV212#" /redisdata/config/7001/redis.conf
sed -i "s#^\# requirepass.*#requirepass 12nDd8T62qV212#" /redisdata/config/7000/redis.conf
sed -i "s#^\# requirepass.*#requirepass 12nDd8T62qV212#" /redisdata/config/7001/redis.conf
cd /redisdata/config/7000
redis-server /redisdata/config/7000/redis.conf
cd /redisdata/config/7001
redis-server /redisdata/config/7001/redis.conf
ps -ef | grep redis
#调整系统内存分配策略
sysctl vm.overcommit_memory=1
echo "vm.overcommit_memory = 1 " >> /etc/sysctl.conf
sysctl -p
#关闭系统内存页的巨大内存页支持
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >>/etc/rc.local
#在第一台服务器上设置 集群 并验证
IP=`ip r|head -2|tail -1|awk '{print $(NF-2)}'`
IP1=$IP
IP2=172.17.11.212
IP3=172.17.11.155
echo $IP1:7000 $IP2:7000 $IP3:7000 $IP1:7001 $IP2:7001 $IP3:7001
redis-cli --cluster create $IP1:7000 $IP2:7000 $IP3:7000 $IP1:7001 $IP2:7001 $IP3:7001 --cluster-replicas 1
redis-cli -c -p 7000 -h $IP cluster meet $IP2 7000
redis-cli -c -p 7000 -h $IP cluster meet $IP3 7000
redis-cli -c -p 7000 -h $IP cluster meet $IP1 7001
redis-cli -c -p 7000 -h $IP cluster meet $IP2 7001
redis-cli -c -p 7000 -h $IP cluster meet $IP3 7001
redis-cli -c -p 7000 -h $IP cluster nodes
redis-cli -c -p 7000 -h $IP cluster info
附:Redis Cluster 设置密码
两种方式
1、修改配置文件
在每个节点的配置文件里面增加密码选项,一定要加上 masterauth,不然 Redirected 的时候会失败。
masterauth redispassword
requirepass redispassword
修改后需要重启节点。
2、动态修改
连接每个节点进行动态配置,然后 config rewrite 将配置同步到配置文件中,不需要重启节点。
$ redis-cli -p 7001 -c
config set masterauth redispassword
config set requirepass redispassword
auth redispassword
config rewrite
注意:以上方法都必须要求每个节点的密码保持一致,不然 Redirected 的时候会失败。
Redis Cluster 设置密码
IP1=$IP
IP2=172.17.11.212
IP3=172.17.11.155
#临时设置密码
redis-cli -c -p 7000 -h $IP config set masterauth sESnDd8T62qV2pSh
redis-cli -c -p 7000 -h $IP config set requirepass sESnDd8T62qV2pSh
redis-cli -c -p 7001 -h $IP config set masterauth sESnDd8T62qV2pSh
redis-cli -c -p 7001 -h $IP config set requirepass sESnDd8T62qV2pSh
redis-cli -c -p 7001 -h $IP2 config set masterauth sESnDd8T62qV2pSh
redis-cli -c -p 7001 -h $IP2 config set requirepass sESnDd8T62qV2pSh
redis-cli -c -p 7000 -h $IP2 config set masterauth sESnDd8T62qV2pSh
redis-cli -c -p 7000 -h $IP2 config set requirepass sESnDd8T62qV2pSh
redis-cli -c -p 7000 -h $IP3 config set masterauth sESnDd8T62qV2pSh
redis-cli -c -p 7000 -h $IP3 config set requirepass sESnDd8T62qV2pSh
redis-cli -c -p 7001 -h $IP3 config set masterauth sESnDd8T62qV2pSh
redis-cli -c -p 7001 -h $IP3 config set requirepass sESnDd8T62qV2pSh
redis-cli -c -p 7000 -h $IP
auth sESnDd8T62qV2pSh
config rewrite
参考文档
Linux下搭建redis(源码编译):https://www.cnblogs.com/xinhua19/p/12750659.html