前言

本次介绍纯手工安装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就可以了



总结

安装过程持续三个小时,绕了很多弯路主要是自己粗心造成,希望之后共勉!转载请注明出处!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐