天天看點

CentOs7 安裝redis4.0 遇到的坑一、CentOs7連接配接網絡二、make檔案的時候出錯三、安裝ruby的redis插件時候報錯最後

這次嘗試了一下安裝和使用redis4,結果遇到了不少的坑,和大家分享一下。

一、CentOs7連接配接網絡

        由于是新安裝的centos7,是以什麼都沒有配置,也沒有連接配接過網絡,使用ip addr檢視,隻有一個網卡開啟了,就是127.0.0.1的網卡,然後另外一個網卡的網絡位址為空的,這時我們需要去開啟網絡連接配接。

      首先去網絡配置檔案所在的目錄:

cd  /etc/sysconfig/network-scripts/
           
CentOs7 安裝redis4.0 遇到的坑一、CentOs7連接配接網絡二、make檔案的時候出錯三、安裝ruby的redis插件時候報錯最後

圖中的兩個ifcfg的檔案就是我們兩個網卡的配置檔案,其中lo的為127.0.0.1的網卡,我們需要修改另外一個

ps:每個機器的網卡名稱對應都不同,請以實際為準

vi ifcfg-ens33 
           
CentOs7 安裝redis4.0 遇到的坑一、CentOs7連接配接網絡二、make檔案的時候出錯三、安裝ruby的redis插件時候報錯最後

把最後這項改成yes,然後reboot系統即可

二、make檔案的時候出錯

        首先我們需要先安裝gcc的支援:

yum install gcc
yum install gcc-c++
yum install tcl
           

然後進行make的時候依舊會報錯,報錯為:  jemalloc/jemalloc.h:沒有那個檔案或目錄

配置設定器allocator, 如果有MALLOC  這個環境變量,會有用這個環境變量的 去建立Redis。而且libc 并不是預設的配置設定器, 預設的是 jemalloc, 因為 jemalloc 被證明 有更少的 fragmentation problems 比libc。

但是如果新系統沒有裝jemalloc 而隻有 libc 當然 make 出錯。 是以加這麼一個參數,運作如下指令:

make MALLOC=libc
           

這時make指令就不會出錯了,然而他依然會建議你先進行make test

三、安裝ruby的redis插件時候報錯

        錯誤為:“redis requires Ruby version >= 2.2.2”

這個問題是因為centos7的yum源裡面沒有ruby2.2.2的安裝資源,最高隻到2.0.0,是以我們必須通過其他方法安裝這個高版本的ruby,下面講一種最快的方式,添加yum源:CentOS SCLo Software collections Repository

執行指令:

yum install centos-release-scl-rh    //會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源
           

這個時候我們就成功的安裝了yum源了,然後我們需要接着找到新版本的ruby:

yum install rh-ruby23  -y    //這樣yum安裝的是ruby2.3.0版本
scl  enable  rh-ruby23 bash    //必要一步
           

這樣之後,我們的ruby就安裝成功了,我們可以執行ruby -v 檢視版本:

CentOs7 安裝redis4.0 遇到的坑一、CentOs7連接配接網絡二、make檔案的時候出錯三、安裝ruby的redis插件時候報錯最後

這樣之後,我們就可以執行

gem install redis
           

來擷取ruby的redis支援了,就可以執行redis-trib.rb這個二進制檔案了。

最後

最後來強調一下執行叢集指令的時候,中間的字元為1,不是L,已經碰到過兩次這個坑了

./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
           
CentOs7 安裝redis4.0 遇到的坑一、CentOs7連接配接網絡二、make檔案的時候出錯三、安裝ruby的redis插件時候報錯最後

繼續閱讀