Redis集群创建和配置

1.检查GCC是否安装,可以看看版本号
gcc -v
安装命令:yum install gcc-c++

2.安装Ruby和Rubygems
如果有网的话,则通过yum命令进行安装,自动将关联的依赖包全部安装
yum install ruby
yum install rubygems
Ruby离线安装去官网下载:http://www.ruby-lang.org/en/downloads/
./configure –-prefix=/usr/local/ruby -prefix是将ruby安装到指定目录,也可以自定义
make && make install
检查版本 ruby -v
配置环境变量 which gem
export RUBY_HOME=/usr/local/ruby
export PATH=$PATH:RUBY_HOME/bin
source /etc/profile
测试echo $PATH

Rubygems离线安装去官网下载 https://rubygems.org/pages/download。
解压并进入目录,执行命令:ruby setup.rb
更新 RubyGems 命令 gem update --system
配置环境变量 which gem
export RUBY_GEMS = XXXX
export PATH=$PATH:RUBY_HOME/bin:$RUBY_GEMS/bin
source /etc/profile
测试echo $PATH
3.安装对应的Redis的Rbuy接口包->Redis的gem包
官网下载https://rubygems.org/gems/redis/
安装 gem install redis-3.3.0.gem
如果报错
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
我们需要再安装zlib才行,下载zlib,上传解压,安装zlib官方网站:http://www.zlib.net ,最新版1.2.11,安装我们就一笔带过
1 $tar -xvzf zlib-1.2.11.tar.gz
2 $cd zlib-1.2.8.tar.gz
3 $./configure --prefix=/usr/local/zlib 设置安装路径
4 $make
5 $make instal
又报错
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options
1 $ cd /home/cmfchina/ruby/ruby-2.4.1/ext/zlib
#备注:/home/cmfchina/ruby/ruby-2.4.1这个目录是ruby安装包后解压的目录,就是前面提到的ruby离线安装
2 $ ruby extconf.rb --with-zlib-include=/usr/local/zlib/include/ --with-zlib-lib=/usr/local/zlib/lib
#这时候会生成一个Makefile文件 备注:/usr/local/zlib是我的zlib安装目录
3 $ make && make install
接下来我们make && make install 安装一下,但是当我们make的时候,又出现了错误如下
make: *** No rule to make target `/include/ruby.h', needed by `zlib.o'. Stop
vim Makefile 修改如下信息
zlib.o: $(top_srcdir)/include/ruby.h 改成:zlib.o: ../../include/ruby.h
修改完成,然后保存:接着我们再make && make install
我们回到redis的gem目录下,继续执行命令:gem install redis-3.3.0.gem
又出现了错误,提示安装我们还需要安装OpenSSL,因为Redis集群交互是需要OpenSSL
我们又得安装OpenSSL才行,官网地址:https://www.openssl.org/source/ 上次压缩包到服务器,解压,
1 $ tar -xzvf openssl-1.0.2l.tar.gz
2 $ cd openssl-1.0.2l
3 $ ./config -fPIC --prefix=/usr/local/openssl enable-shared
4 $ ./config -t
5 $ make && make install
到Ruby解压的源码[/home/cmfchina/ruby-2.4.1]目录下的ext/openssl 目录
1 $ cd /home/cmfchina/ruby-2.4.1/ext/openssl
2 备注:/home/cmfchina/ruby/ruby-2.4.1这个目录是ruby安装包后解压的目录,就是前面提到的ruby离线安装
3 $ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib //会生成一个Makefile文件
4 备注:/usr/local/openssl是我的openssl安装目录
5 $ make && make install
如出错make: *** No rule to make target `/include/ruby.h', needed by `ossl.o'. Stop 将$(top_srcdir)全部改成../..
再回到之前redis目录下执行命令:gem install redis-3.3.0.gem

4.安装redis
到官网(https://redis.io/download)下载Redis 解压进入目录编译安装
# make && make install //make 这里如果不指定PREFIX,默认将安装在/usr/local/bin下,保持默认就好
make && make install PREFIX=/oradata/redis
拷贝Redis/src 目录下 redis-trib.rb 和Redis目录下的redis.conf 文档到 PREFIX的 bin 目录下统一管理
创建及集群文件夹和6个节点
mkdir redis_cluster
mkdir 700{1,2,3,4,5,6}
拷贝 redis.conf 到节点文件700*目录下
开始集群配置
port 7000 //端口7000,7002,7003
bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002
logfile /var/run/redis_7000.log //logfile日志文件
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
启动bin目录下执行./redis-service 700*/redis.conf 检查启动
ps -ef | grep redis
netstat -tnlp | grep redis
考虑创建启动脚本放在redis_cluster目录下


5.启动集群
./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:7005 127.0.0.1:7006

6.Redis集群测试 说明:-h+host –p+端口号 –c 是要连接集群,
redis-cli -p 7001 -c
redis-cli -c -h 127.0.0.1 -p 7001 shutdown //关闭集群,如果没有-h参数,默认连接127.0.0.1,如果没有-p参数,默认连接6370端口(所有如果用默认的,就没有-h -p)
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。

7.重启集群
pkill -9 redis
rm -rf dump.rdb
rm -rf nodes-*.*
重启redis节点,逐个启动 创建集群

猜你喜欢

转载自www.cnblogs.com/liushuchen/p/10906979.html