1、Redis的安裝c++
一、從官網https://redis.io/download下載最新的stable版本(也能夠下載unstable版本)redis-4.0.9.tar.gz。redis
二、上傳到CentOS 7服務器的 /data/目錄服務器
三、解壓縮文件到 /data/redis-4.0.9目錄下tcp
> cd /data > tar -zxvf redis-4.0.9.tar.gz -C /data/redis-4.0.9
四、在centOs上安裝編譯必要的軟件(根據本身機器狀況,若是已有請忽略)ide
# yum install gcc gcc-c++ # yum -y install automake autoconf libtool
五、開始編譯Redis測試
# make
編譯過程當中可能會出現這個錯誤,由於默認分配器是jemalloc,我機器沒有,具體能夠自行度娘 。。。。。idea
解決辦法之一就是修改默認分配器(我使用的辦法)spa
# make MALLOC=libc //改成libc
沒什麼意外稍等一下就編譯經過了日誌
等等,我還遇到了一個問題,截圖以下code
由於一個文件沒有執行權限,解決辦法很簡單
chmod 777 mkreleasehdr.sh
再次執行make命令 「# make MALLOC=libc」 , 應該就沒啥問題了
不過編譯最後出現了一句話
Hint: It's a good idea to run 'make test' ;)
什麼意思呢? 執行下make test 是個好主意
我真的執行了,結果以下
[root@vm82220 redis-4.0.9]# make test
cd src && make test
make[1]: Entering directory `/data/redis-4.0.9/redis-4.0.9/src'
/bin/sh: ./runtest: Permission denied
make[1]: *** [test] Error 126
make[1]: Leaving directory `/data/redis-4.0.9/redis-4.0.9/src'
make: *** [test] Error 2
繼續添加權限 「chmod 777 runtest」 ,再次執行 make test, 又出問題了
[root@vm82220 redis-4.0.9]# make test
cd src && make test
make[1]: Entering directory `/data/redis-4.0.9/redis-4.0.9/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/data/redis-4.0.9/redis-4.0.9/src'
make: *** [test] Error 2
看到紅字了吧,須要8.5以上的版本
安裝tcl
# yum install tcl
再make test 就沒什麼問題了
六、安裝Redis到指定地方
本人喜歡把經常使用服務放到喜歡地方,此次就放到/data/redis目錄下吧
# mkdir /data/redis
執行安裝命令
# make PREFIX=/data/redis/ install
其實/data/redis 下只有一個bin目錄,裏面有幾個命令文件
爲了後續方面使用命令,能夠把bin文件夾放到環境變量中,也能夠把這幾個命令鏈接到/usr/local/bin中,我採用後者
//軟鏈接必定要是有全路徑哦,不然可能出現錯誤 # ln -s /data/redis/bin/redis-server /usr/local/bin/redis-server # ln -s /data/redis/bin/redis-server /usr/local/bin/redis-sentinel # ln -s /data/redis/bin/redis-benchmark^Cusr/local/bin/redis-sentinel # ln -s /data/redis/bin/redis-benchmark /usr/local/bin/redis-benchmark # ln -s /data/redis/bin/redis-check-aof /usr/local/bin/redis-check-aof # ln -s /data/redis/bin/redis-check-rdb /usr/local/bin/redis-check-rdb
至此,安裝就完成了
2、Redis配置
一、打開端口:6379 , Redis默認端口就是6379,能夠在配置文件中修改
firewall-cmd --permanent --zone=public --add-port=6379/tcp firewall-cmd --reload
二、修改配置文件
把配置文件/data/redis-4.0.9/redis.conf複製到/data/redis/conf文件夾中,修改配置
protected-mode no //打開其餘機器鏈接 port 6379 //端口 daemonize yes //啓用守護進程 pidfile /data/redis/run/redis_6379.pid //運行時 logfile /data/redis/log/redis_6379.log //日誌 dir /data/redis/dir //數據文件夾 dbfilename dump_6379.rdb //數據文件
還有不少配置信息,建議仔細閱讀一遍,滿滿幹活啊 。。。。
三、啓動Redis
redis-server /data/redis/config/redis.conf
四、登錄測試一下
# redis-cli
單機的Redis安裝配置完成
3、Redis-Sentinel的配置
下面說一下單機中哨兵HA的配置
哨兵模式中至少須要三個redis節點啓用,一個主節點,兩個從節點,咱們分別使用6379(主)、6380(從)、6381(從)端口啓動三個redis服務。
一、部署redis主從模式
建立文件夾/data/redis/conf,把redis.conf 分別複製三份 redis_6379.conf、redis_6380.conf、redis_6381.conf,vi打開redis_6380.conf修改
#端口 port 6380 #運行時 pidfile /data/redis/run/redis_6380.pid #日至 logfile /data/redis/log/redis_6380.log #數據 dbfilename dump_6380.rdb #指定master slaveof 10.60.82.220 6379
redis_6381.conf把端口改成6381,其餘也作相似修改
二、啓動redis服務
先啓動主服務
# redis-server redis_6379.conf //主服務
再分別啓動兩個從服務
# redis-server redis_slave_6380.conf //從服務 # redis-server redis_slave_6381.conf //從服務
查看進程狀態
登錄主節點
# redis-cli -h 10.60.82.220 -p 6379
三、配置sentinel
也分別複製三個文件sentinel_26379.conf、sentinel_26380.conf、sentinel_26381.conf, 相關信息修改以下:
port 26379 daemonize yes protected-mode no dir "/data/redis/log/" logfile "sentinel_26379.log" sentinel monitor mymaster 10.60.82.220 6379 2 sentinel down-after-milliseconds mymaster 50000 sentinel failover-timeout mymaster 15000 sentinel parallel-syncs mymaster 1 #sentinel auth-pass mymaster YKHykh123456 sentinel known-slave mymaster 10.60.82.220 6380 sentinel known-slave mymaster 10.60.82.220 6381 #sentinel current-epoch 1
其餘兩個文件也作相應修改
四、啓動sentinel服務
# redis-sentinel sentinel_26379.conf # redis-sentinel sentinel_26380.conf # redis-sentinel sentinel_26381.conf
五、檢查sentinel
# redis-cli -h 10.60.82.220 -p 26379 //登錄服務
> sentinel masters //查看主服務信息 > sentinel slaves mymaster //查看全部從服務信息
配置相關就算完成了