這次嘗試了一下安裝和使用redis4,結果遇到了不少的坑,和大家分享一下。
一、CentOs7連接配接網絡
由于是新安裝的centos7,是以什麼都沒有配置,也沒有連接配接過網絡,使用ip addr檢視,隻有一個網卡開啟了,就是127.0.0.1的網卡,然後另外一個網卡的網絡位址為空的,這時我們需要去開啟網絡連接配接。
首先去網絡配置檔案所在的目錄:
cd /etc/sysconfig/network-scripts/
圖中的兩個ifcfg的檔案就是我們兩個網卡的配置檔案,其中lo的為127.0.0.1的網卡,我們需要修改另外一個
ps:每個機器的網卡名稱對應都不同,請以實際為準
vi ifcfg-ens33
把最後這項改成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 檢視版本:
這樣之後,我們就可以執行
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