前言
本次介绍纯手工安装redis集群
CentOs6.5 安装Basic Server系统 系统未包含yum 以及gcc,云服务器可能会包含这些
Redis版本redis-6.2.6.tar.gz 官网下载
一、redis安装过程
1.官网下载的redis包上传到服务器,并且解压
此处不做过多阐述,简单的linux操作,tar -xzvf redis-6.2.6.tar.gz到对应的目录
修改src权限 chmod +x -R src
2.本人遇到的坑
1.执行make MALLOC=libc 报错,cc报错,表示没有安装gcc,如下图
解决办法:yum install -y gcc安装gcc
2.命令执行yum install -y gcc安装gcc,如果系统没有默认安装yum以及gcc,安装gcc报错如下:
解决办法:/etc/yum.repos.d镜像中外网路径不能访问,修改为可以访问的路径,或者替换镜像。@注1;yum安装之后如果命令使用报错@注2:见片尾
3.修改之后依然出现2中问题不能访问,可能是证书问题
解决办法:编辑/etc/yum.conf,在此处头加上sslverify=false
4.继续执行make MALLOC=libc可能报错如下:
解决办法:
执行命令cd deps
执行命令make lua hiredis linenoise
5.继续执行make MALLOC=libc可能报错如下:
cc: ../deps/hdr_histogram/hdr_histogram.o:没有那个文件或目录
解决办法:分别进入redis下的deps下的hiredis、lua 运行make
6.回到src目录继续执行 make MALLOC=libc,如果是多台机器创建三主三从集群,例:
本次采用ip 192.168.245.131,192.168.245.132,192.168.245.133分别在每台服务器上创建7001和7002端口,需要从任意一台服务器的一个端口去meet到另外的服务器端口
本次采用192.168.245.131 meet 其他5个端口,得出如下结果:
执行过程中发现meet到的节点会随着时间消失,最终只会留下本机的两个节点,找了很久原因发现是因为防火墙没有关闭,如下图:
解决办法一:
vi /etc/sysconfig/iptables
在 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 后面加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7002 -j ACCEPT
修改完保存退出,重启网卡服务,使可以访问
service iptables restart
service iptables status
解决办法二:
service iptables stop 关闭防火墙
再次使用192.168.245.131 meet 其他5个端口得到完整结果
7.设置主从节点,设置槽点,设置完槽点之后设置密码,将密码保存。设置槽点的坑或许是因为粗心造成,redis所有配置都已经完成,执行cluster info 查看节点状态都正常,但是执行set a 111插入数据失败,错误信息如下:
这个错误主要是槽点没有分配完全或者没有分配
这里主要是因为我们一般都是采用批量设置槽点,槽点没有没分配完成就退出造成
此时查看槽点执行情况cluster slots,发现槽点缺失。
解决办法:
如果槽点缺的少可以执行命令cluster addslots 999 1000 1001(多个槽点手动添加)
如果槽点缺少过多需要重新执行命令,这里一般都是执行过密码,直接执行之前的脚本可能会提示需要密码,可以修改脚本将密码写入脚本
再次查看槽点信息
8.最终再次执行set a 111 提示
去133的机器执行set a 111,执行成功,再回到131这台服务器get a
获取到a的值
全部遇到的坑结束!
注1:镜像文件中路径无法访问
修改为下文即可:
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/updates/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/extras/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/centosplus/x86_64/
gpgcheck=1
enabled=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/contrib/x86_64/
gpgcheck=1
enabled=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.8/os/x86_64/RPM-GPG-KEY-CentOS-6
注2:
用yum安装包有时候会提示
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory : 128 M RSS (439 MB VSZ)
Started: Fri Aug 28 08:08:31 2015 - 48:25 ago
State : Sleeping, pid: 3462
解决方法:rm -f /var/run/yum.pid
然后重新执行yum就可以了
总结
安装过程持续三个小时,绕了很多弯路主要是自己粗心造成,希望之后共勉!转载请注明出处!