The article topic
1 Redis集群环境支持安装
Redis集群搭建用到
gcc
、zlib
、ruby
、rubygems
等环境,要先搭建对redis集群支持的环境,演示使用一台服务器来搭建伪集群,端口为7001、7002、7003、7004、7005、7006
1.1 gcc离线安装
- 先到有网的机器上下载相关依赖包
yum install --downloadonly --downloaddir=/home/gcc gcc yum install --downloadonly --downloaddir=/home/g++ gcc-c++
- 把离线依赖包拷贝到无网机器上,分别切换到指定目录进行安装, 安装指令为,我这就强制安装了,因为逐个安装,很容易因为递进依赖,而报一堆错,需要下载一堆特别多的包。
rpm -ivh *.rpm --nodeps --force
- 查看是否安装成功
gcc -v
- 结果
Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
1.2 zlib离线安装
-
解压安装包
tar zxvf zlib-1.2.8
-
进入
zlib-1.2.8
目录 -
./configure
命令 -
make && make install
完成安装
1.3 ruby离线安装
ruby
源码包下载,http://www.ruby-lang.org/en/downloads/- 解压安装包
tar zxvf ruby-2.3.8.tar.gz
- 进入
ruby
目录 ./configure
命令,生成Makefile
文件表示成功
make && make install
完成安装- 配置
ruby
的zlib# ruby目录就是解压的目录 cd ruby/ext/zlib ruby extconf.rb make make install
1.4 rubygems离线安装
- 依赖包下载https://rubygems.org/pages/download
- 解压
tar zxvf rubygems-3.2.11.tgz
- 到
rubygems
目录下安装ruby setup.rb
1.5 openssl
安装
- 安装
redis-3.0.0.gem
时出现如下错误,要安装openssl
- 下载
openssl官网下载地址:https://www.openssl.org/source/old/fips/ - 解压
tar zxvf openssl-fips-2.0.16.tar.gz
- 安装
./config shared zlib --prefix=/usr/local/openssl make make install
- 配置环境变量
# 1. 编辑profile文件 vim /etc/profile #2. 配置环境变量/root/redis-cluster/redis1/src是redis的目录 export OPENSSL=/usr/local/openssl/bin export PATH=$OPENSSL:$PATH:$HOME/bin # 刷新profile文件 source /etc/profile
- 查看openssl安装成功
openssl version
1.6 安装redis-3.0.0.gem
- 下载
redis-3.0.0.gem
链接:https://pan.baidu.com/s/1IiKDQGxP4XU7wDEKxNoVkw
提取码:ignv - 拷贝到机器
- 安装
gem install redis-3.0.0.gem
2 Redis集群安装
2.1 安装并启动Redis各个节点
- 下载
redis
官网https://redis.io/download - 解压
tar zxvf redis-3.2.6.tar.gz
- 到解压后的redis目录 的
src
目录 make
命令make install
命令- 到
redis
目录下,修改redis.conf
文件cluster-enabled yes # 打开redis集群 daemonize yes # 修改原值no为yes, 用来配置redis为后台驻留 #bind 127.0.0.1 # 注释掉该行, 使得redis可远程链接 protected-mode no # 修改为no, 禁用保护模式 requirepass 111111 # 设置密码
- 配置
redis
环境变量#1. 编辑profile文件 vim /etc/profile #2. 配置环境变量/root/redis-cluster/redis1/src是redis的目录 PATH=$PATH:$HOME/bin:/root/redis-cluster/redis1/src export PATH #3. 刷新profile文件 source /etc/profile
- 启动
redis
,指定启动时配置文件,如果启动失败就到reids
的src
目录下启动redis-server /root/redis-cluster/redis1/redis.conf
9. 使用redis-cli
连接测试(可以不用测试)
```shell
# 连接第一台
redis-cli -h 127.0.0.1 -p 7001
# 输入密码
auth 111111
set k1 v1
get k1
```
- 如果redis集群打开集群配置,创建集群时会报如下错误:
2.2 redis-trib.rb命令创建redis集群
- 拷贝
/root/redis-cluster/redis1/src
目录下的redis-trib.rb
文件到redis集群目录下(自己创建的目录)cp redis-trib.rb /root/redis-cluster/
- 到
/root/redis-cluster/
目录下执行下述命令,创建集群
执行后可以看到集群创建成功./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
单个节点的状态也发生了改变
- 连接集群,
-c
表示连接一个集群,连接的是第二个节点redis-cli -h 127.0.0.1 -p 7002 -c
- 向
redis
集群中设置值,可以看到,redis
集群会自动计算槽值,并切换到该节点