centos 7安裝dotnet 環境
mkdir /app/redis
cd /app/redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -zxvf redis-5.0.7.tar.gz
cd /app/redis/redis-5.0.7
make MALLOC=libc
sudo make install
cp redis.conf src/
cd src
主要修改內容如下:
port 6379
cluster-enabled yes
cluster-config-file nodes-6379.conf//啟動的時候會由redis生成和管理
cluster-node-timeout 15000
appendonly yes
daemonize yes //後臺執行
bind 0.0.0.0
每個節點執行
/app/redis/redis-5.0.7/src/redis-server /app/redis/redis-5.0.7/src/redis.conf
由於redis叢集最少需要6個節點,需要再建兩個配置檔案
cp redis.conf redis_6380.conf
cp redis.conf redis_6381.conf
原文件中包含6379的地方都修改為對應的ip
例如:
port 6380
pidfile /var/run/redis_6380.pid
cluster-config-file nodes-6380.conf
每個節點執行
/app/redis/redis-5.0.7/src/redis-server /app/redis/redis-5.0.7/src/redis.conf
/app/redis/redis-5.0.7/src/redis-server /app/redis/redis-5.0.7/src/redis_6380.conf
/app/redis/redis-5.0.7/src/redis-server /app/redis/redis-5.0.7/src/redis_6381.conf
測試/生產環境(只需要安裝redis的一臺上執行即可):
/app/redis/redis-5.0.7/src/redis-cli --cluster create 172.20.108.166:6379 172.20.108.166:6380 172.20.108.166:6381 172.20.108.188:6379 172.20.108.188:6380 172.20.108.188:6381 --cluster-replicas 1
追加節點
src/redis-cli--clusteradd-node10.99.32.32:637910.99.32.3:6379
檢視節點
src/redis-cli-h10.99.32.9-cclusternodes
刪除節點
src/redis-cli--clusterdel-node10.99.32.9:637908859612fdf824fd07c538c65073a86ca7d522cb
需要先獲取節點node-id
cluster info
叢集新增密碼參考地址:https://blog.csdn.net/u012572955/article/details/53996107
如果叢集要設定密碼,叢集啟動後要在各個節點下設定:
config set masterauth xxx
config set requirepass xxx
然後在各個節點下重置配置:
config rewrite
redis 叢集 建立報錯 [ERR] Node is not empty. Either the node already knows other nodes:
參考地址:https://blog.csdn.net/xiaoliuliu2050/article/details/72898828
https://blog.csdn.net/u012572955/article/details/53996107
解決方法:
1)、將需要新增的節點下aof、rdb等本地備份檔案刪除;
2)、同時將新Node的叢集配置檔案刪除,即:刪除你redis.conf裡面cluster-config-file所在的檔案;
3)、再次新增新節點如果還是報錯,則登入新Node,./redis-cli–h x –p對資料庫進行清除:
172.168.63.201:7001> flushdb #清空當前資料庫
或者
redis叢集重啟需要刪除各個節點下的檔案,刪除命令如下:
rm -rf appendonly.aof | rm -rf dump.rdb | rm -rf nodes.conf | rm -rf redis.log
Redis (error) NOAUTH Authentication required.解決方法:
出現認證問題,應該是設定了認證密碼,輸入密碼既可以啦
注意密碼是字串形式!
127.0.0.1:6379> auth "yourpassword"
例如密碼是‘root’,當出現認證問題時候,輸入“auth ‘root’”即可
127.0.0.1:6379> set name "hello"
(error) NOAUTH Authentication required.
127.0.0.1:6379> (error) NOAUTH Authentication required.
(error) ERR unknown command '(error)'
127.0.0.1:6379> auth "root"
可以進入
127.0.0.1:6379> auth "root"
OK