【准備環境】
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