redis集群搭建

1、安装ruby

不能用yum安装,yum安装的最高版本是2.0,ruby需要2.2以上的版本

下载网站:http://www.ruby-lang.org/en/downloads/

[root@mdw ~]# yum install gcc gcc-c++ autoconf automake make zlib-devel openssl-devel
[root@mdw local]# tar -xzf ruby-2.6.3.tar.gz
[root@mdw local]# cd ruby-2.6.3
[root@mdw local]# ./configure --prefix=/usr/local/ruby
[root@mdw local]# make && make install
[root@mdw local]# vi /etc/profile
	#RUBY_HOME
	export RUBY_HOME=/usr/local/ruby
	export PATH=$RUBY_HOME/bin:$PATH
[root@mdw local]# source /etc/profile

2、安装redis.gem

下载对应的redis.gem:https://rubygems.org/gems/redis/versions/

[root@mdw bin]# gem install redis-4.0.1.gem 
Successfully installed redis-4.0.1
Parsing documentation for redis-4.0.1
Installing ri documentation for redis-4.0.1
Done installing documentation for redis after 0 seconds
1 gem installed

可能出现以下问题:

ERROR:  Loading command: install (LoadError)
	cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass

修改:
[root@mdw ruby-2.6.3]# cd ext/zlib/
[root@mdw zlib]# yum install zlib-devel -y
[root@mdw zlib]# ruby extconf.rb
[root@mdw zlib]# vim Makefile
将$(top_srcdir) 修改成../..
[root@mdw zlib]# make
[root@mdw zlib]# make install

/usr/local/ruby/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- openssl (LoadError)

[root@mdw zlib]# cd ../openssl
[root@mdw openssl]# yum install openssl-devel -y
[root@mdw openssl]# ruby extconf.rb
[root@mdw openssl]# vim Makefile
将$(top_srcdir) 修改成../..
[root@mdw openssl]# make
[root@mdw openssl]# make install

3、安装redis

[root@mdw local]# wget http://download.redis.io/releases/redis-4.0.14.tar.gz
[root@mdw local]# tar xzf redis-4.0.14.tar.gz
[root@mdw local]# cd redis-4.0.14/
[root@mdw redis-4.0.14]# make
[root@mdw redis-4.0.14]# cd src/
[root@mdw src]# ./redis-server ../redis.conf    ##看是否正常启动(正常启动后关闭)

4、集群搭建

[root@mdw ~]# mkdir -p /home/redis-cluster
[root@mdw ~]# cd /home/redis-cluster
[root@mdw redis-cluster]# mkdir bin logs nodes conf
[root@mdw redis-cluster]# mkdir -p data/primary
[root@mdw redis-cluster]# mkdir -p data/mirror
[root@mdw redis-cluster]# ls
bin  logs  nodes  conf	data
[root@mdw redis-cluster]# cp /usr/local/redis-4.0.14/src/redis-cli ./bin/
[root@mdw redis-cluster]# cp /usr/local/redis-4.0.14/src/redis-server ./bin/
[root@mdw redis-cluster]# cp /usr/local/redis-4.0.14/src/redis-trib.rb ./bin/
[root@mdw redis-cluster]# ls ./bin/
redis-cli  redis-server  redis-trib.rb
[root@mdw redis-cluster]# cp /usr/local/redis-4.0.14/redis.conf ./conf/
[root@mdw redis-cluster]# ls ./conf/
redis.conf
[root@mdw redis-cluster]# cd conf/

分别在三个节点创建redis.conf文件端口、设置为7001-7002

[root@mdw conf]# mv redis.conf redis-7001.conf
[root@mdw conf]# vim redis-7001.conf 
	daemonize yes   #后台运行
	port 7001       #端口
	bind 192.***.***.185    #ip
	pidfile /var/run/redis_7001.pid  	#pid进程文件
	logfile "/home/redis-cluster/logs/redis-7001.logs"  #日志文件
	cluster-enabled yes     #开启集群模式
	cluster-config-file /home/redis-cluster/nodes/nodes-7001.conf    #节点数据保存文件
	cluster-node-timeout 5000         #超时时间
	dir /home/redis-cluster/data/primary   #数据存放目录
	appendonly yes  #启动AOF增量持久化策略
[root@mdw conf]# cp redis-7001.conf redis-7002.conf

5、启动redis服务

在三个节点上分别启动redis服务,共6个redis进程。

[root@mdw bin]# cd /home/redis-cluster/bin/
[root@mdw bin]# ./redis-server ../conf/redis-7001.conf 
[root@mdw bin]# ./redis-server ../conf/redis-7002.conf 
查看进程:
[root@mdw bin]# ps aux | grep redis
root     24424  0.0  0.0 147360  6776 ?        Ssl  10:38   0:00 ./redis-server 192.***.***185:7001 [cluster]
root     24439  0.0  0.0 147360  6260 ?        Ssl  10:38   0:00 ./redis-server 192.***.***185:7002 [cluster]
root     24527  0.0  0.0 112728   960 pts/0    R+   10:39   0:00 grep --color=auto redis

6、集群连接

在ruby的节点进行操作

[root@mdw bin]# ./redis-trib.rb create --replicas 1 192.***.***185:7001 192.***.***186:7001 192.***.***187:7001 192.***.***186:7002 192.***.***187:7002 192.***.***185:7002
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.***.***185:7001
192.***.***186:7001
192.***.***187:7001
Adding replica 192.***.***186:7002 to 192.***.***185:7001
Adding replica 192.***.***187:7002 to 192.***.***186:7001
Adding replica 192.***.***185:7002 to 192.***.***187:7001
...
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

至此,redis集群安装成功。

7、测试

[root@mdw bin]# ./redis-cli -h 192.***.***.185 -p 7001 -c
192.***.***.185:7001> get name
-> Redirected to slot [5798] located at 192.***.***.186:7001
(nil)
192.***.***.186:7001> set name chongqing
OK
192.***.***.186:7001> get name
"chongqing"
192.***.***.186:7001> set id 2222
OK
192.***.***.186:7001> get id
"2222"
192.***.***.186:7001> exit
[root@mdw bin]# ./redis-cli -h 192.***.***.187 -p 7002 -c
192.***.***.187:7002> set wang xu
-> Redirected to slot [2919] located at 192.***.***.185:7001
OK
192.***.***.185:7001> get wang
"xu"
192.***.***.185:7001> get name
-> Redirected to slot [5798] located at 192.***.***.186:7001
"chongqing"
192.***.***.186:7001> get id
"2222"

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值