redis集群部署---一台主机
1、下载redis tar包———redis-4.0.9.tar.gz,放在目录/opt/redis目录下
2、解压tar包
tar -zxvf redis-4.0.9.tar.gz
得到/opt/redis/redis-4.0.9
3、进入redis-4.0.9/编译redis代码
make
make install
4、进入redis-4.0.9/src目录下,查看得到的可执行程序:mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb
将这些可执行程序复制到/home/redis/bin目录下。
5、在/home/redis/目录下建立集群数据目录。
mkdir /home/redis/rediscluster
6、将/opt/redis/redis-4.0.9目录下的redis.conf复制到 /home/redis/rediscluster/
7、在/home/redis/rediscluster/创建6个目录(用于放3主3备的节点的数据)。
cd /home/redis/rediscluster/
mkdir 6580 6581 6582 6583 6584 6585
8、修改redis.conf文件
port 6580 bind 192.168.10.131 daemonize yes dir "/usr/local/redis/rediscluster/6580" pidfile "/usr/local/redis/rediscluster/6580/redis_6580.pid" cluster-enabled yes cluster-config-file "/usr/local/redis/rediscluster/6580/nodes_6580.conf" cluster-node-timeout 15000 appendonly no appendfilename "redis_6580.aof" appendfsync everysec save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename "redis_dump_6585.rdb" loglevel notice logfile "/usr/local/redis/rediscluster/6580/redis_6580.log" maxclients 5000 maxmemory 10gb requirepass 123 masterauth 123
将上述改完的配置文件redis.conf复制到/usr/local/redis/rediscluster/6580/目录下,已经修改端口并复制到相应的目录下。
例如:使用命令批量修改端口sed -i '/s/6580/6581/g' redis.conf并复制到/usr/local/redis/rediscluster6581/目录下
8、创建节点启动脚本
touch nodes_start.sh
#!/bin/bash ../bin/redis-server ./6580/redis_6580.conf ../bin/redis-server ./6581/redis_6581.conf ../bin/redis-server ./6582/redis_6582.conf ../bin/redis-server ./6583/redis_6583.conf ../bin/redis-server ./6584/redis_6584.conf ../bin/redis-server ./6585/redis_6585.conf
给权限:chmod +x nodes_start.sh
执行:./nodes_start.sh
查看节点是否启动:ps -ef | grep redis
9、接下来是创建集群关系:
./redis-trib.rb create --replicas 192.168.10.131:6580 192.168.10.131:6581 192.168.10.131:6582 192.168.10.131:6583 192.168.10.131:6584 192.168.10.131:6585
这里遇到两个问题:
问题一:没有安装ruby:
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)"
解决方法:
apt-get install ruby
问题二:ruby客户端没有配置redis认证的密码
[ERR] Sorry, can't connect to node
解决方法:
cd /
find . -name client.rb
vi ***/lib/gems/2.3.0/gems/redis-4.0.1/lib/redis/client.rb
这里因为redis.conf添加了配置了 requirepass 123 选项,所以需要在ruby客户端上加上密码。
。。。。
先到这里