標籤:redis 配置 和報錯
redis安裝過程:
正常前面3步應該沒有問題,主要的問題是執行make的時候,出現了異常。異常一:make[2]: cc: Command not found異常原因:沒有安裝gcc解決方案:yum install gcc-c++ 異常二:zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory異常原因:一些編譯依賴或原來編譯遺留出現的問題解決方案:make distclean。清理一下,然後再make。 在make成功以後,需要make test。在make test出現異常。異常一:couldn‘t execute "tclsh8.5": no such file or directory異常原因:沒有安裝tcl解決方案:yum install -y tcl。設定記憶體配置策略(可選,根據伺服器的實際情況進行設定)/proc/sys/vm/overcommit_memory可選值:0、1、2。0, 表示核心將檢查是否有足夠的可用記憶體供應用進程使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,並把錯誤返回給應用進程。1, 表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何。2, 表示核心允許分配超過所有實體記憶體和交換空間總和的記憶體值得注意的一點是,redis在dump資料的時候,會fork出一個子進程,理論上child進程所佔用的記憶體和parent是一樣的,比如parent佔用的記憶體為8G,這個時候也要同樣分配8G的記憶體給child,如果記憶體無法負擔,往往會造成redis伺服器的down機或者IO負載過高,效率下降。所以這裡比較最佳化的記憶體配置策略應該設定為 1(表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何) vim /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT service iptables restart 修改 redis/redis.conf,設定redis進程為後台守護進程: daemonize yes 很多時候這個設定檔修改後,提到redis可能會出現問題,那麼一般情況下都是redis.conf設定檔有錯誤造成的可以在網上找到合適的或者如下,直接複製進去,也可。redis.conf配置: daemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysglueoutputbuf yesshareobjects noshareobjectspoolsize 1024 $ redis-server redis.conf[[email protected] redis-2.8.17]# ps -ef | grep redis root 401 29222 0 18:06 pts/3 00:00:00 grep redis root 29258 1 0 16:23 ? 00:00:00 redis-server /etc/redis.conf $ redis-cliredis> set foo jiuOKredis> get foo"jiu"就這樣了完成了。。。。。
本文出自 “微笑的魚” 部落格,請務必保留此出處http://smilezgy.blog.51cto.com/3308626/1568563
redis-2.8-17安裝配置過程和一些錯誤