redis的安装(linux)
一、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(连接一个即可)