图中为使用ansible安装出现的报错信息,如手动安装,进入redis目录后,执行make指令报错,报错内容大体一致。
网上的大多解决办法为运行该命令:make MALLOC=libc 但是有些情况下仍会报错信息,这是因为你的主机如果有内存分配器libc,就可以使用这种方式,如果没有就会出现libc也找不到的情况。
既然出现找不到jemalloc,也没有libc,则我们自己可以安装默认的内存分配器jemalloc,安装方式如下:
- 下载包:wget https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2
- 解压:tar -jxvf jemalloc-5.2.0.tar.bz2(如果解压报错 执行yum -y install bzip2以支持bzip2)
- 进入到已解压的目录:cd jemalloc-5.2.0/
- 执行指令:./autogen.sh
- 执行指令:./configure
- 执行指令:make
- 执行指令:make install
以上安装方式为默认安装,安装默认目录为:
PREFIX: /usr/local
BINDIR: /usr/local/bin
DATADIR: /usr/local/share
INCLUDEDIR : /usr/local/include
LIBDIR : /usr/local/lib
完成jemalloc安装之后,则删除执行make失败的redis目录,重新解压,进入解压的文件夹,进行下面操作:
- 执行指令:make
- 执行指令:cd ./src
- 执行指令:make install PREFIX=/usr/local/redis 安装到指定目录
以上就是redis安装出现jemalloc/jemalloc.h:没有那个文件或目录的全部过程