redis安装及报错处理

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 --cluster add-node 10.99.32.32:6379 10.99.32.3:6379
查看节点
src/redis-cli -h 10.99.32.9 -c cluster nodes
删除节点
src/redis-cli --cluster del-node 10.99.32.9:6379 08859612fdf824fd07c538c65073a86ca7d522cb
需要先获取节点node-id

 
这样就可以登录客户端查看集群状况:
进入redis01
执行:
./redis-cli -c -p 7001则进入客户端.
集群状态查看:
cluster nodes
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

解决方法:

redis集群重启需要删除各个节点下的文件,删除命令如下:

rm -rf appendonly.aof

rm -rf dump.rdb 

rm -rf nodes.conf

rm -rf nodes-6379.conf 

rm -rf nodes-6380.conf  

rm -rf nodes-6381.conf  

rm -rf redis.log

1)、将需要新增的节点下aof、rdb等本地备份文件删除;

2)、同时将新Node的集群配置文件删除,即:删除你redis.conf里面cluster-config-file所在的文件;

3)、再次添加新节点如果还是报错,则每个节点登录新Node,./redis-cli–h x –p对数据库进行清除:

例如:./redis-cli -c -p 7001

172.168.63.201:7001>  flushdb      #清空当前数据库

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

redis 如何查看所有的key:

列出所有的key

redis> keys *

列出匹配的key

redis>keys apple*
1) apple1
2) apple2
原文地址:https://www.cnblogs.com/js1314/p/13525286.html