Redis的安裝部署手冊(cè)
單機(jī)部署:
1.安裝gcc
yum install gcc-c++
yum install ruby
2.上傳tar包到/src目錄
3. 解壓
tar -zxvf redis-3.2.8.tar.gz
4.進(jìn)入redis-3.2.8
cd redis-3.2.8/
5.編譯
make
6.安裝
make PREFIX=/usr/local/redis install
redis-server的路徑在/usr/local/redis/bin/下
或者
make install
redis-server默認(rèn)安裝的路徑就是/usr/local/bin/
7.把redis配置文件拷貝到安裝目錄
cp redis.conf /usr/local/redis
8.啟動(dòng)(這里使用的路徑是:PREFIX=/usr/local/redis)
cd /usr/local/redis
./bin/redis-server
后端啟動(dòng)
1.修改配置文件
cd /usr/local/redis
vim redis.conf
找到daemonize no將其改為yes
2.啟動(dòng)
./bin/redis-server ./redis.conf
3.查看redis程序狀態(tài)
ps -ef | grep -i redis
4.關(guān)閉redis
./bin/redis-cli shutdown
出現(xiàn)以下問(wèn)題:
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommi
t_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
解決方案:
echo vm.overcommit_memory=1 >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
出現(xiàn)以下問(wèn)題:
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues
with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
解決方案:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/rc.d/rc.local 或者vi /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
chmod +x /etc/rc.d/rc.local
重啟
出現(xiàn)以下問(wèn)題:
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128
.
解決方案
vi /etc/sysctl.conf
net.core.somaxconn= 1024
wq
sysctl -p
測(cè)試
./bin/redis-cli
[root@localhost redis]# ./bin/redis-cli
//檢查網(wǎng)絡(luò)是否可以
127.0.0.1:6379> ping
PONG
//設(shè)置一個(gè)鍵值對(duì)
127.0.0.1:6379> set name cheny
OK
//獲取剛剛設(shè)置的鍵值對(duì)
127.0.0.1:6379> get name
"cheny"
redis后臺(tái)啟動(dòng)
vi /usr/local/redis/redis.conf
daexxx=yes
wq
./bin/redis-server ./redis.conf (沒(méi)有-c參數(shù))
開(kāi)啟6379端口
CentOS 7 采用了 firewalld 防火墻
firewall-cmd --query-port=6379/tcp
no
firewall-cmd --add-port=6379/tcp
yes
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --reload
集群搭建(三組六從)
1.建立集群目錄
cd /usr/local/src/redis-3.2.8
mkdir cluster
2.建立7000目錄
cd cluster
mkdir 7000
3.復(fù)制redis.conf文件到7000下
cd /usr/local/src/redis-3.2.8
cp redis.conf cluster/7000
4.修改7000下的redis.conf
cd /usr/local/src/redis-3.2.8/cluster/7000
vim redis.conf
4.1關(guān)閉aof文件模式使用rdb模式
[圖片上傳失敗...(image-2cad6a-1632147565460)]
4.2.注釋bind 127.0.0.1,取消ip綁定
[圖片上傳失敗...(image-1b5096-1632147565460)]
4.3.關(guān)閉保護(hù)模式
[圖片上傳失敗...(image-3ea4e0-1632147565460)]
4.4.修改端口號(hào)
[圖片上傳失敗...(image-24d699-1632147565460)]
4.5.開(kāi)啟后臺(tái)啟動(dòng)
[圖片上傳失敗...(image-449fe7-1632147565460)]
4.6.修改pidfile
[圖片上傳失敗...(image-d65b5e-1632147565460)]
4.7修改dir文件
[圖片上傳失敗...(image-39b45f-1632147565460)]
4.8修改內(nèi)存策略
[圖片上傳失敗...(image-8ab5e7-1632147565460)]
4.9開(kāi)啟集群配置
[圖片上傳失敗...(image-74c563-1632147565460)]
4.10.開(kāi)啟集群的配置
[圖片上傳失敗...(image-26dbd1-1632147565460)]
4.11.修改集群的推選時(shí)間 [圖片上傳失敗...(image-96b4e6-1632147565459)]
5.同樣的方式7001,7002,7003,7004,7005,7006,7007,7008
5.1.復(fù)制所有文件
cd /usr/local/src/redis-3.2.8/cluster
cp -r 7000 7001
cp -r 7000 7002
cp -r 7000 7003
cp -r 7000 7004
cp -r 7000 7005
cp -r 7000 7006
cp -r 7000 7007
cp -r 7000 7008
5.2.修改7001
vim 7001/redis.conf
:%s/7000/7001/g
單擊回車
:wq
5.3.修改7002,7003,7004,7005,7006,7007,7008
同5.2
6.集群腳本
cd /usr/local/src/redis-3.2.8/cluster
vim startAll.sh
!/bin/sh
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7000/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7001/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7002/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7003/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7004/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7005/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7006/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7007/redis.conf &
/usr/local/redis/bin/redis-server /usr/local/src/redis-3.2.8/cluster/7008/redis.conf &
wq
7.安裝ruby(ruby的version于2.2.2)
7.1. 安裝RVM
命令1:
gpg --keyserver hkp://pgp.mit.edu --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
命令2:
curl -sSL https://get.rvm.io | bash -s stable
命令3:
find / -name rvm -print
命令4:(加載文件)
source /usr/local/rvm/scripts/rvm
7.2.查看rvm庫(kù)中已知的ruby版本
rvm list known
7.3.安裝一個(gè)ruby版本
rvm install 2.4
7.4.使用一個(gè)ruby版本
rvm use 2.4.10
7.5.設(shè)置默認(rèn)版本
rvm use 2.4.10 --default
7.6.卸載一個(gè)已知版本(不需要做)
rvm remove 2.4.10
7.7.查看ruby版本
ruby --version
7.8.安裝gem
gem install redis
參考:https://cloud.tencent.com/developer/article/1409323
8.通過(guò)ruby創(chuàng)建集群
cd /usr/local/src/redis-3.2.8/src
./redis-trib.rb create --replicas 2 192.168.47.133:7000 192.168.47.133:7001 192.168.47.133:7002 192.168.47.133:7003 192.168.47.133:7004 192.168.47.133:7005 192.168.47.133:7006 192.168.47.133:7007 192.168.47.133:7008
顯示安裝成功
測(cè)試
cd /usr/local/src/redis-3.2.8/src
./redis-cli -p 7000 –c
set aa aa
set qq qq
9. redis集群在創(chuàng)建的時(shí)候不能配置密碼認(rèn)證,因此在集群創(chuàng)建完成之后可以配置密碼認(rèn)證:
redis-cli -p 7000
config set requirepass 123456
auth 123456
config rewrite
參考資料:https://blog.csdn.net/u011330018/article/details/106114205
https://www.cnblogs.com/wxzhe/p/10751449.html
https://www.cnblogs.com/shengdimaya/p/6800423.html
TODO redis6的版本如何集群搭建?