首页 > 数据库 >内网离线部署redis7.2

内网离线部署redis7.2

时间:2024-01-30 15:45:33浏览次数:19  
标签:redis7.2 x86 centos 部署 redis make 离线 64 nfs

环境说明

镜像系统:CentOS-7-x86_64-Everything-1908.iso

网络:

内网地址:192.168.24.20

无其他网卡

内存:8GB

CPU:1颗4核

硬盘:64GB

安装方式:带GUI的服务器

主机名:data0

另外,内网环境中有一个harbor服务主机,上面有nfs服务、ntpd服务、harbor镜像仓库,此主机可以连接公网,我使用它来准备必要文件,data0主机通过nfs共享获取文件。

基础环境准备

配置服务

cd /etc/yum.repos.d/ &&  tar -cf all.tar *.repo --remove-files

echo "192.168.24.5 harbor" >> /etc/hosts

mkdir /nfs && chmod 777 -Rf /nfs/

echo "harbor:/nfs /nfs nfs defaults 0 0" >> /etc/fstab

mount -t nfs harbor:/nfs /nfs

#设置时间同步

systemctl disable chronyd.service && systemctl stop chronyd.service

timedatectl set-timezone 'Asia/Shanghai'

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

#设置时间的配置文件

line_number=$(awk '/server 3.centos.pool.ntp.org iburst/{print NR}' /etc/ntp.conf) #这条语句是centos7特制的,其他版本不知道是不是这样

sed -i -e 's/^server/#server/' /etc/ntp.conf

sed -i "$line_number a server harbor iburst" /etc/ntp.conf

line_number=$(awk '/restrict ::1/{print NR}' /etc/ntp.conf)

ntpdate harbor

systemctl start ntpd &&systemctl enable ntpd

 

 

内核升级

cd /nfs/kernerl/ && rpm -ivh kernel-lt-5.4.267-1.el7.elrepo.x86_64.rpm

grub2-set-default 0

#查看内核列表:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot

准备redis相关组件和源码

此步骤在harbor上执行

mkdir /nfs/redis/ && cd /nfs/redis/

#下载最新的稳定版

wget https://download.redis.io/redis-stable.tar.gz

#编译工具

yumdownloader --destdir /nfs/redis/ gcc gcc-c++ kernel-devel

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/cpp-4.8.5-44.el7.x86_64.rpm

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libstdc++-4.8.5-44.el7.x86_64.rpm

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libgcc-4.8.5-44.el7.x86_64.rpm

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libstdc++-devel-4.8.5-44.el7.x86_64.rpm

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libgomp-4.8.5-44.el7.x86_64.rpm

 

mkdir /nfs/python3 && cd /nfs/python3

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

 

mkdir /nfs/zlib/ && cd /nfs/zlib/ && yumdownloader --destdir /nfs/zlib/ zlib*

 

mkdir /nfs/tcl && cd /nfs/tcl

yumdownloader --destdir /nfs/tcl/ tcl*

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/tk-8.5.13-6.el7.x86_64.rpm

wget http://mirror.centos.org/centos/7/updates/x86_64/Packages/postgresql-libs-9.2.24-7.el7_9.x86_64.rpm

编译和安装redis

此步骤在data0上执行.

#安装编译工具

yum localinstall /nfs/redis/*.rpm -y

#编译python3

yum localinstall /nfs/zlib/*.x86_64.rpm

#建议断开ssh重连

mkdir python3.6 && cd /python3.6/

cp /nfs/python3/Python-3.6.8.tgz ./

tar xf Python-3.6.8.tgz

cd Python-3.6.8/

#编译构建

./configure

make

#一般没有明显的提示说失败就是成功了

make install

#有如下提示则成功:

#Successfully installed pip-18.1 setuptools-40.6.2

#安装tcl,用于测试

yum localinstall /nfs/tcl/*.x86_64.rpm

#编译redis

mkdir /redis-stable && tar -xf /nfs/redis/redis-stable.tar.gz -C / && cd /redis-stable

#编译

make

#等待编译结束,没那么快,也没那么慢

#测试

make test

#有如下输出则表示测试通过

\o/ All tests passed without errors!

 

Cleanup: may take some time... OK

make[1]: Leaving directory `/redis-stable/src'

#安装进入系统

make install

自此,安装结束。

FQA

max_latency <= 40

可能在make test 的时候会出现如下警告:

!!! WARNING The following tests failed:

 

*** [err]: Active defrag - AOF loading in tests/unit/memefficiency.tcl

Expected 215 <= 40 (context: type eval line 37 cmd {assert {$max_latency <= 40}} proc ::test)

Cleanup: may take some time... OK

make[1]: *** [test] Error 1

make[1]: Leaving directory `/redis-stable/src'

make: *** [test] Error 2

 

这其实是再说延迟的问题,由于我是在虚拟机中部署的,并且还是X79平台的老设备了,就是会有一定的延迟,可以不管它。如果一定要解决,请修改这个文件的内容:

vi tests/unit/memefficiency.tcl

 

将其修改为大于实际值的值(比如我这儿的实际值为215,我将其修改为300):

 

然后make clean清理。执行make && make test重新编译测试。

$frag >= $expected_frag

*** [err]: Active defrag big keys in tests/unit/memefficiency.tcl

Expected 1.59 >= 1.7 (context: type eval line 73 cmd {assert {$frag >= $expected_frag}} proc ::test)

 

调整预期值:

 

然后make clean清理。执行make && make test重新编译测试。

标签:redis7.2,x86,centos,部署,redis,make,离线,64,nfs
From: https://www.cnblogs.com/love-DanDan/p/17997255

相关文章

  • 在容器云平台部署服务网格
    服务网格是什么?服务网格(servicemesh)是一个微服务网络,它用于在一个分布式的微服务架构中构成应用程序,并提供不同微服务间的交互功能。当服务网格的规模和复杂性增大时,了解和管理它就会变得非常困难。OpenshiftServicemeshOperator基于开源Istio项目,用于简化Istio的部署和管......
  • 发个阿里云广告,对园子脱困很重要:阿里云上部署幻兽帕鲁
    2023年3月,我们接了一个阿里云的广告单子,单子金额比较大,对于当时囊中告急的园子来说很诱人,但考核指标非常严格,当时实在接不到其他单子,就咬着牙接下来。结果咬牙咬出一个悲剧,到现在这个单子做快了一年,考核指标还没全部完成,诱人的单子到现在一分钱也没拿到。三项考核指标完成了两项......
  • Visual Studio部署C++矩阵库Armadillo的方法
      本文介绍在VisualStudio软件中配置C++环境下线性代数运算库Armadillo的方法。  首先,我们需要在Armadillo库官网下载其源代码,直接点击下图所示红色框内部分即可。  点击上图所示位置后,将弹出一个新的下载界面;Armadillo库的源代码将随后自动下载。  接下来,我们在Vis......
  • 最全的项目部署+持续集成解决方案:Jenkins + git + docker
    最全的项目部署+持续集成解决方案:Jenkins+git+docker:https://blog.csdn.net/m0_45806184/article/details/126408527?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-126408527-blog-128137274.235^v43^control&spm=1001.21......
  • 手摸手教你 docker+jenkins+gitlab 部署你的前端项目
    手摸手教你docker+jenkins+gitlab部署你的前端项目 :https://blog.csdn.net/wx17343624830/article/details/128137274?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-128137274-blog-132392231.235^v43^control&spm=1001.2......
  • windows 宝塔本地部署ssl证书
    1、使用 mkcert-v1.4.4-windows-amd64.exe参考《https本地自签名证书添加到信任证书访问》1#进入到mkcert-v1.4.4-windows-amd64.exe下载文件位置2#执行命令3./mkcert-v1.4.4-windows-amd64.exe*.game.localaiPlatform.devlocalhost127.0.......
  • LAMP架构简易部署 yum
    永久关闭selinux1.喜欢关闭所有的防火墙,内置防火墙,linux的软件防火1.关闭selinux,美国的航空安全局,开发的linux内置防火墙查询selinux状态,基本只有centos8会多些selinux的策略,centos7不用#看到disbaled表示selinux是永久禁止的[root@AlienCat~]#getenforceDisabled2.......
  • 使用 docker 部署 kafka
    在很多时候我们需要使用到消息队列,其中kafka是一个非常优秀的消息队列,在我们平时开发中也经常会用到,但是在开发环境中部署kafka是一个非常麻烦的事情在kafka官网上,有一个详细的部署文档,需要的小伙伴可以参考这个文档https://kafka.apache.org/quickstart,但是......
  • vue部署
    1.虚拟机打包0.本地打包(webstorm)npmrunbuild1.上传工程及镜像#1.将打包好的文件dist压缩,发送到服务器一文件夹内[root@localhost~]#cd/opt/frontend[root@localhostfrontend]#lsdist.zip#2.解压打包的文件[root@localhostfrontend]#unzipdist.zip[root@lo......
  • Eventgrid+Function实现event driven架构 - 架构介绍及环境部署
    今天来介绍这几年在云上比较流行的eventdriven,也就是事件驱动的架构,用一个很简单的sample来实际看下事件驱动的架构到底是个啥事件驱动的架构由生成事件流的事件生成者和侦听事件的事件使用者组成,它的特点是事件可几乎实时发送,因此使用者可在事件发生时需要立即做出响应。生成者......