linux redis3.2.5安装及redis集群创建

  1. 安装redis

安装redis-3.2.5

安装gcc

安装redis时make命令需要gcc执行:

yum install gcc

安装tcl

运行make test命令需要tcl:

yum install tcl

下载redis-3.2.5

cd /temp        temp是自己创建的

wget http://download.redis.io/releases/redis-3.2.5.tar.gz

或者从别的地方copy到这个目录

解压

tar -zxvf /root/software/redis-3.2.5.tar.gz -C /usr/local/

安装

进入redis目录:cd  /usr/local/redis-3.2.5

编译:make MALLOC=libc

安装:

进入scr目录:/usr/local/redis-3.2.5/src

安装:make install 

测试:make test

测试安装情况:redis 的src目录下执行命令:./redis-server

 

注意:这里你Ctrl+C redis 会退出,你可以用守护进程的方式运行: ./redis-server & 

接着执行命令: ./redis-cli -p 6379 这里可以去看看redis-cli的命令使用方法, -p 是端口,-h 是ip ,这里host 省略,就可以进入redis控制后台了.

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

或者 info 命令可以看到reids 相关信息.

将redis配置成服务并开机自启动

将启动脚本复制到/etc/rc.d/init.d/目录下,命名为redis:

cp /usr/local/redis-3.2.5/utils/redis_init_script /etc/rc.d/init.d/redis

编辑/etc/rc.d/init.d/redis文件,修改相应配置,使之能注册成为服务:

vi /etc/rc.d/init.d/redis

按i进入编辑模式,第一行后面添加一行内容为:#chkconfig: 2345 80 90    如果不添加,在注册服务的时候会提示:service redis does not support chkconfig

配置文件设置:

创建redis配置文件目录: mkdir /usr/local/redis-3.2.5/conf

复制redis配置文件/ usr/local/redis-3.2.5//redis.conf到目录/ usr/local/redis-3.2.5/conf下并按端口号命名为6379.conf:

cp /usr/local/redis-3.2.5/redis.conf /usr/local/redis-3.2.5/conf/6379.conf

修改服务内容:vi /etc/rc.d/init.d/redis

CONF="/usr/local/redis-3.2.5/conf/${REDISPORT}.conf"

$EXEC $CONF &

 

$EXEC $CONF &&的作用是将服务转到后台运行

将redis注册成为服务:chkconfig --add redis

chkconfig –-list

防火墙开启对应端口:vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

重启防火墙:service iptables restart

或者

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

将该设置添加到防火墙的规则中

/etc/rc.d/init.d/iptables save

 

修改redis配置文件6379.conf:

vi /usr/local/redis-3.2.5/conf/6379.conf

daemonize no 改为daemonize yes

pidfile /var/run/redis.pid 改为pidfile /var/run/redis_6379.pid

注释掉绑定的主机,否则客户端无法连接 #bind 127.0.0.1

bind 192.168.74.230   ip地址

protected-mode yes 改为 protected-mode no

 

 

 

启动服务:service redis start

测试:redis-cli

 

  1. Redis集群的安装

前提

已经安装redis

这里的ip是192.168.74.230(虚拟机)

cd /usr/local/

mkdir /usr/local/redis_cluster

cd /usr/local/redis_cluster

mkdir conf

cd config

touch redis_7000.conf

vim redis_7000.conf

 

daemonize    yes   

pidfile  /var/run/redis_7000.pid        

port  7000                             

cluster-enabled  yes                    

cluster-config-file  nodes_7000.conf     

cluster-node-timeout  5000              

appendonly  yes

 

 

cp redis_7000.conf  redis_7001.conf

cp redis_7000.conf  redis_7002.conf

cp redis_7000.conf  redis_7003.conf

cp redis_7000.conf  redis_7004.conf

cp redis_7000.conf  redis_7005.conf

文件如下:

 

记得把cp后的文件内容的端口相应的修改

 

字段说明:

daemonize    yes                        //redis后台运行

pidfile  /var/run/redis_7000.pid        //pidfile文件对应

port  7000                              //端口

cluster-enabled  yes                    //开启集群  把注释#去掉

cluster-config-file  nodes_7000.conf    //集群的配置  配置文件首次启动自动生成

cluster-node-timeout  5000              //请求超时  设置5秒够了

appendonly  yes                         //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

 

启动

cd /usr/local

/usr/local/redis_cluster/conf

redis-server redis_cluster/conf/redis_7000.conf

redis-server redis_cluster/conf/redis_7001.conf

redis-server redis_cluster/conf/redis_7002.conf

redis-server redis_cluster/conf/redis_7003.conf

redis-server redis_cluster/conf/redis_7004.conf

redis-server redis_cluster/conf/redis_7005.conf

 

或者

./bin/redis-server cluster/conf/7000.conf

./bin/redis-server cluster/conf/7001.conf

./bin/redis-server cluster/conf/7002.conf

./bin/redis-server cluster/conf/7003.conf

./bin/redis-server cluster/conf/7004.conf

./bin/redis-server cluster/conf/7005.conf

查看进程

ps -ef | grep redis | grep cluster

 

准备创建集群环境

Redis 3.0以上的集群方式是通过Redis安装目录下的bin/redis-trib.rb脚本搭建,集群需要Ruby运行的环境

 

安装yum仓库

yum install centos-release-scl-rh

 

安装高版本的ruby

yum install -y ruby*

 

yum install rh-ruby23  -y

 

scl  enable  rh-ruby23 bash

 

 

https://rubygems.org/downloads/redis-3.3.3.gem  下载文件放到相应的目录(/root)

文件如下:

 

cd /root

./redis-3.3.3.gem

 

gem install redis //使用gem这个命令来安装redis接口

 

创建集群

进入redis安装目录(/usr/local/redis-3.2.5)

cd /usr/local/redis-3.2.5/src

./redis-trib.rb create --replicas 1 192.168.74.230:7000 192.168.74.230:7001 192.168.74.230:7002 192.168.74.230:7003 192.168.74.230:7004 192.168.74.230:7005

 

信息:

./redis-trib.rb create --replicas 1 192.168.74.230:7000 192.168.74.230:7001 192.168.74.230:7002 192.168.74.230:7003 192.168.74.230:7004 192.168.74.230:7005

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.74.230:7000

192.168.74.230:7001

192.168.74.230:7002

Adding replica 192.168.74.230:7003 to 192.168.74.230:7000

Adding replica 192.168.74.230:7004 to 192.168.74.230:7001

Adding replica 192.168.74.230:7005 to 192.168.74.230:7002

M: 75e75574928408d8203ca0fff5d676a9c3938ae5 192.168.74.230:7000

   slots:0-5460 (5461 slots) master

M: 1f9916f9440522249e1e978c1c49b0415949abfe 192.168.74.230:7001

   slots:5461-10922 (5462 slots) master

M: ffd9597d48c1bca8ebf3439a55430c736aa37be1 192.168.74.230:7002

   slots:10923-16383 (5461 slots) master

S: a4783abb6bfde696d62e91ba2cd0797e05c0fbf0 192.168.74.230:7003

   replicates 75e75574928408d8203ca0fff5d676a9c3938ae5

S: 70be9c8f52d93801efd47d55a8bca82269e611f6 192.168.74.230:7004

   replicates 1f9916f9440522249e1e978c1c49b0415949abfe

S: 062774d994866911afacb3f3b2354a345d2723e1 192.168.74.230:7005

   replicates ffd9597d48c1bca8ebf3439a55430c736aa37be1

Can I set the above configuration? (type 'yes' to accept): yes

>>> Nodes configuration updated

>>> Assign a different config epoch to each node

>>> Sending CLUSTER MEET messages to join the cluster

Waiting for the cluster to join.

>>> Performing Cluster Check (using node 192.168.74.230:7000)

M: 75e75574928408d8203ca0fff5d676a9c3938ae5 192.168.74.230:7000

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

M: ffd9597d48c1bca8ebf3439a55430c736aa37be1 192.168.74.230:7002

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

S: a4783abb6bfde696d62e91ba2cd0797e05c0fbf0 192.168.74.230:7003

   slots: (0 slots) slave

   replicates 75e75574928408d8203ca0fff5d676a9c3938ae5

S: 70be9c8f52d93801efd47d55a8bca82269e611f6 192.168.74.230:7004

   slots: (0 slots) slave

   replicates 1f9916f9440522249e1e978c1c49b0415949abfe

M: 1f9916f9440522249e1e978c1c49b0415949abfe 192.168.74.230:7001

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

S: 062774d994866911afacb3f3b2354a345d2723e1 192.168.74.230:7005

   slots: (0 slots) slave

   replicates ffd9597d48c1bca8ebf3439a55430c736aa37be1

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

 

表示成功

集群测试

连接:

redis-cli -c -h 192.168.74.230 -p 7000

 

查看节点信息

cluster info

 

结果:

cluster_state:ok                      #集群状态

cluster_slots_assigned:16384          #被分配的槽位数

cluster_slots_ok:16384                #正确分配的槽位

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6                 #集群节点数

cluster_size:3

cluster_current_epoch:6

cluster_my_epoch:1

cluster_stats_messages_sent:747

cluster_stats_messages_received:747

 

查看集群节点信息:

cluster nodes

 

结果

192.168.74.230:7000> cluster nodes

ffd9597d48c1bca8ebf3439a55430c736aa37be1 192.168.74.230:7002 master - 0 1562543546418 3 connected 10923-16383

75e75574928408d8203ca0fff5d676a9c3938ae5 192.168.74.230:7000 myself,master - 0 0 1 connected 0-5460

a4783abb6bfde696d62e91ba2cd0797e05c0fbf0 192.168.74.230:7003 slave 75e75574928408d8203ca0fff5d676a9c3938ae5 0 1562543545407 4 connected

70be9c8f52d93801efd47d55a8bca82269e611f6 192.168.74.230:7004 slave 1f9916f9440522249e1e978c1c49b0415949abfe 0 1562543542570 5 connected

1f9916f9440522249e1e978c1c49b0415949abfe 192.168.74.230:7001 master - 0 1562543543321 2 connected 5461-10922

062774d994866911afacb3f3b2354a345d2723e1 192.168.74.230:7005 slave ffd9597d48c1bca8ebf3439a55430c736aa37be1 0 1562543544374 6 connected

 

 

在其中的一个节点插入一个key

set name wjq

 

结果:

192.168.74.230:7000> keys *

(empty list or set)

192.168.74.230:7000> set name wjq

-> Redirected to slot [5798] located at 192.168.74.230:7001

OK

192.168.74.230:7001>

 

连接另外节点查看信息

redis-cli -c -h 192.168.74.230 -p 7004

get name

 

结果:

192.168.74.230:7004> get name

-> Redirected to slot [5798] located at 192.168.74.230:7001

"wjq"

192.168.74.230:7001>

 

退出:

quit

开启防火墙

/sbin/iptables -I INPUT -p tcp --dport 7000 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 7001 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 7002 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 7003 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 7004 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 7005 -j ACCEPT

将该设置添加到防火墙的规则中

/etc/rc.d/init.d/iptables save

 

在windows中测试防火墙有端口有没有开启成功

telnet 192.168.74.230 7001

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值