目錄:
本文根據筆者親身搭建Redis集群環境遇到的一些問題,在此把它們整理歸納,問題描述已經解決方法:
1.1 解決-gem install redis提示版本問題
gem install redis此命令無法安裝,報錯:
[root@hadoop01 redis-4.0.11]# gem install redis ERROR: Error installing redis: redis requires Ruby version >= 2.3.0. [root@hadoop01 redis-4.0.11]#
Redis依賴的Ruby的版本太低,需要2.3.0或以上版本。
查看ruby版本:
[root@hadoop01 redis-4.0.11]# ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
當前ruby版本1.8.7,需要升級到2.3.0或以上版本。具體解決方案詳見:1.2解決ruby版本過低的問題
1.2 解決-Ruby版本過低的問題
錯誤:Ruby與redis版本不兼容造成的錯誤:
解決方法:
gem list gem uninstall redis --version 3.0.0 gem install redis
1、yum install curl
2、curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
3、curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
4、curl -L https://get.rvm.io | bash -s stable
5、查找rvm的啟動文件:find / -name rvm.sh
6、source /etc/profile.d/rvm.sh
7、rvm requirements
8、rvmsudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
9、source /usr/local/rvm/scripts/rvm
10、rvm list known
11、rvm install 2.3.8
12、rvm use 2.3.8
13、刪除低版本 rvm remove 1.8.7
14、ruby –v
15、gem install redis
參考:https://blog.csdn.net/chengxiadenghuo/article/details/103531480
1.3 解決-哈希槽被占用錯誤問題
錯誤:提示哈希槽被占用
/usr/lib/ruby/gems/-2.3.8/gems/redis-4.1.3/lib/redis/client.rb:126:in `call': ERR Slot 5461 is already busy (Redis::CommandError)
解決方法:所有節點,清除上一次的錯誤殘留,重啟Cluster節點。
[root@hadoop01 bin]# redis-cli -h 192.168.100.129 -p 7000 192.168.100.129:7000> flushall OK 192.168.100.129:7000> cluster reset OK 192.168.100.129:7000>
1.4 解決-集群節點不為空
啟動集群時錯誤提示:
[ERR] Node 192.168.100.129:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
解決方法:
刪除所有節點的appendonly.aof、nodes.conf,重新啟動服務。