首页 > 技术文章 > redis的安装(linux)

mswangblog 2017-04-05 16:13 原文

一、redis单机版的安装(centOS6.4)

安装步骤:

1、首先安装gcc的编译环境(没有环境需要安装)

  yum install gcc-c++

2、上传redis的源码,redis-3.0.0.tar.gz,

3、解压: tar -zxf redis-3.0.0.tar.gz 

4、编译源码

     make 

5、安装redis(PREFIX指定安装目录) 
    make install PREFIX=/usr/local/redis 

二、启动redis服务

1、前端启动:[root@localhost ~]# /usr/local/redis/redis-server 

   强制关闭ctrl+c (服务关闭)

2、后端启动:

    第一步:需要将redis解压之后的源码包中的redis.conf文件拷贝到安装目录下。 
    第二步:修改redis.conf文件,将daemonize改为yes。 
    第三步:使用命令后端启动redis。 
        
[root@localhost ~]# cd /usr/local/redis

       [root@localhost redis]# ./redis-server redis.conf

              (root      2168  0.2  0.1  35556  1724 ?        Ssl  22:35   0:00 ./redis-server *:6379 )

    第四步:查看是否启动成功 
        ps -aux | grep redis 

     

  关闭方式: 
      强制关闭:[root@localhost redis]# kill -9 PID
      正常关闭:[root@localhost redis]# ./redis-cli shutdown 

三、客户端的打开

1、redis的自带客户端

  a、启动:[root@localhost redis]# ./redis-cli

         上面的语句全配置:[root@localhost redis]# ./redis-cli -h 127.0.0.1 -p 6379

          其中: -h:指定访问的redis服务器的ip地址    -p:指定访问的redis服务器的port端口

  由于:有默认配置:默认的ip【127.0.0.1】,默认的port【6379】,故可以简化

      b、 关闭

   Ctrl+c

  或127.0.0.1:6379> quit

    (不会关闭服务器)

2、图形化界面

  

注意:只能在单机版环境使用。不支持redis集群。

 

 

五、集群化安装

伪集群在一个虚拟机中声明端口不同的实例;在真正的集群中是不同的计算机 ,是通过ip来区分

伪集群的搭建(虚拟3个结点,6台主机):

1、在/usr/local目录下新建   [root@localhost local]# mkdir redis-cluster

2、把单机版的拷到其中[root@localhost local]# cp redis redis-cluster/ -r

3、修改文件名[root@localhost redis-cluster]# mv redis redis01

4、删除redis01中的持久化dump.rdb

5、修改redis01中的redis.conf文件内容

    第一是端口号:port 7001

    集群开启: cluster-enabled yes

6、之后多复制几个redis01~06

  [root@localhost redis-cluster]# cp -r  redis01/ redis02

    创建完成之后,在修改端口7002~7006

7、需要ruby脚本,在redis源码文件夹下的src目录下即:redis-trib.rb

8、把redis-trib.rb文件复制到到redis-cluster目录下。

9、执行ruby脚本之前,需要安装ruby环境。

    a、yum install ruby

    b、yum install rubygems

    c、安装redis-trib.rb运行依赖的ruby的包。

      [root@localhost ~]# gem install redis-3.0.0.gem

10启动所有的redis实例。

  通过创建一个脚本[root@localhost redis-cluster]# vim start-all.sh(新建与 redis-cluster目录下)

  脚本内容:

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..

 

11、执行(可能提示权限不够:chmod u+x start-all.sh)

[root@localhost redis-cluster]# ./start-all.sh

12使用redis-trib.rb创建集群。

./redis-trib.rb create --replicas 1 192.168.20.6:7001 192.168.20.6:7002 192.168.20.6:7003 192.168.20.6:7004 192.168.20.6:7005  192.168.20.6:7006

创建一个备份create --replicas 1

 

创建结果:

[root@localhost redis-cluster]# ./redis-trib.rb create --replicas 1 192.168.20.6:7001 192.168.20.6:7002 192.168.20.6:7003 192.168.20.6:7004 192.168.20.6:7005  192.168.20.6:7006
>>> Creating cluster
Connecting to node 192.168.20.6:7001: OK
Connecting to node 192.168.20.6:7002: OK
Connecting to node 192.168.20.6:7003: OK
Connecting to node 192.168.20.6:7004: OK
Connecting to node 192.168.20.6:7005: OK
Connecting to node 192.168.20.6:7006: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.20.6:7001
192.168.20.6:7002
192.168.20.6:7003
Adding replica 192.168.20.6:7004 to 192.168.20.6:7001
Adding replica 192.168.20.6:7005 to 192.168.20.6:7002
Adding replica 192.168.20.6:7006 to 192.168.20.6:7003
M: fc11a4304dc75af9ee8f80d88c71f745ddc711df 192.168.20.6:7001
   slots:0-5460 (5461 slots) master
M: e3a8e6954c2ef663f7c3938cfaa7bfae6c748eb8 192.168.20.6:7002
   slots:5461-10922 (5462 slots) master
M: 766b289592f8edd1ef0b6c346212045a08c4f4d4 192.168.20.6:7003
   slots:10923-16383 (5461 slots) master
S: 4596ce851caeffb73baf4fa48b327b2e0a852075 192.168.20.6:7004
   replicates fc11a4304dc75af9ee8f80d88c71f745ddc711df
S: aef5d9b546860f6cf09c6067f64d12fe5af848b6 192.168.20.6:7005
   replicates e3a8e6954c2ef663f7c3938cfaa7bfae6c748eb8
S: a424cc6f2a32963359d2aa2fb3e35c44d3397b0f 192.168.20.6:7006
   replicates 766b289592f8edd1ef0b6c346212045a08c4f4d4
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.20.6:7001)
M: fc11a4304dc75af9ee8f80d88c71f745ddc711df 192.168.20.6:7001
   slots:0-5460 (5461 slots) master
M: e3a8e6954c2ef663f7c3938cfaa7bfae6c748eb8 192.168.20.6:7002
   slots:5461-10922 (5462 slots) master
M: 766b289592f8edd1ef0b6c346212045a08c4f4d4 192.168.20.6:7003
   slots:10923-16383 (5461 slots) master
M: 4596ce851caeffb73baf4fa48b327b2e0a852075 192.168.20.6:7004
   slots: (0 slots) master
   replicates fc11a4304dc75af9ee8f80d88c71f745ddc711df
M: aef5d9b546860f6cf09c6067f64d12fe5af848b6 192.168.20.6:7005
   slots: (0 slots) master
   replicates e3a8e6954c2ef663f7c3938cfaa7bfae6c748eb8
M: a424cc6f2a32963359d2aa2fb3e35c44d3397b0f 192.168.20.6:7006
   slots: (0 slots) master
   replicates 766b289592f8edd1ef0b6c346212045a08c4f4d4
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

 使用客户端连接集群: redis01/redis-cli -p 7001 -c(连接一个即可)

推荐阅读