服务器集群作用:
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。一旦在服务器上安装并运行了群集服务,该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。
redis的集群配置:
(.编辑network文件
HOSTNAME=redis(自己定义的hostname)
vi /etc/sysconfig/network
.编辑hosts文件
需要在hosts文件末尾添加ip和主机名的映射
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
本虚拟机机的ip地址 自己定义的hostname
192.168.1.162 redis
vi /etc/hosts
. 关闭防火墙开机启动
service iptables stop
chkconfig iptables off
)
1. 把redis-3.2.10.tar.gz放到linux中
2. 解压该压缩包(tar -zxvf xxxxx)到当前目录
3. 进入redis-3.2.10目录(cd xxxxx)
4. make && make install 编译和安装redis
5. 在redis-3.2.10目录下创建redis_cluster文件夹(mkdir redis_cluster)
6. 在redis_cluster文件夹下创建对应的端口号文件夹(6380,6381,6382,6383,6384,6385)
7. 分别在这6个文件夹中创建redis.conf文件(touch redis.conf)
8. 对该文件进行编辑
!!注意:必须要修改ip和对应的端口号
daemonize yes
pidfile redis_6380.pid
logfile redis_6380.log
appendonly yes
bind 192.168.242.10
port 6380
cluster-enabled yes
cluster-config-file nodes-6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
9. 启动集群
进入redis-3.2.10的src目录下
./redis-server ../redis_cluster/6380/redis.conf
./redis-server ../redis_cluster/6381/redis.conf
./redis-server ../redis_cluster/6382/redis.conf
./redis-server ../redis_cluster/6383/redis.conf
./redis-server ../redis_cluster/6384/redis.conf
./redis-server ../redis_cluster/6385/redis.conf
10. 检查redis集群启动情况
ps -ef |grep redis
11. 如果集群正常启动
创建redis(数据库)集群
也必须首先进入redis-3.2.10的src目录
./redis-trib.rb create --replicas 1 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号
./redis-trib.rb create --replicas 1 192.168.1.186:6380 192.168.1.186:6381 192.168.1.186:6382 192.168.1.186:6383 192.168.1.186:6384 192.168.1.186:6385
如果报错:/usr/bin/env: ruby: No such file or directory
说明ruby没有安装
12. 安装ruby
yum install ruby
13. 再次运行./redis-trib.rb create --replicas 1 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号
如果报错:no such file to load -- rubygems (LoadError)
14. 安装rubygems
yum install rubygems
15. 执行gem install redis来把gem和redis对接
16. 如果报错:redis required ruby version >= 2.2.2
17. 升级ruby的版本信息
18. ruby的升级需要两个依赖 curl和RVM
18.1 安装culr
yum install curl
18.2 RVM
curl -L get.rvm.io | bash -s stable
需要等待很久很久很久很久
如果出现以下错误:
Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).
GPG signature verification failed for ‘/usr/local/rvm/archives/rvm-1.29.3.tgz‘ - ‘https://github.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc‘! Try to install GPG v2 and then fetch the public key:
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
or if it fails:
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
the key can be compared with:
https://rvm.io/mpapis.asc
https://keybase.io/mpapis
NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or upgrade to newer version (if available) or use the second method described above.
18.3 解决以上错误
使用curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - 先生成密钥
gpg: 钥匙环‘/root/.gnupg/secring.gpg’已建立
gpg: /root/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 D39DC0E3:公钥“Michal Papis (RVM signing) <[email protected]>”已导入
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
gpg: 没有找到任何绝对信任的密钥
18.4 再次运行curl -L get.rvm.io | bash -s stable
无尽的等待
19. 使用source /usr/local/rvm/scripts/rvm命令
使rvm立即生效
20. rvm list known查看当前可用ruby版本
21. 从可用的ruby版本中选一个进行安装,但是所要安装的版本必须要大于2.2.2
22. rvm install x.x.x
23. rvm use x.x.x立即使用新安装的ruby版本
24. 运行gem install redis
25. 进入redis数据库
首先要到redis-3.2.10的src目录下
./redis-cli -h xxx.xxx.xxx.xxx -c -p 6380
当进行增删查的时候,报错,找不到其他的集群信息,说明redis集群中没有创建数据库,导致集群找不到存储的空间
exit命令退出集群
26. 创建redis的数据库
./redis-trib.rb create --replicas 1 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号
./redis-trib.rb create --replicas 1 192.168.1.186:6380 192.168.1.186:6381 192.168.1.186:6382 192.168.1.186:6383 192.168.1.186:6384 192.168.1.186:6385
27. 再次进入集群
首先要到redis-2.3.10的src目录下
运行./redis-cli -h xxx.xxx.xxx.xxx -c -p 6380
再次测试增删查