redis3.2.2 安装

1、配置本地yum源:
cd /etc/yum.repos.d
创建文件public.repo
vi public.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///ios/Server
enabled=1
gpgcheck=1
gpgkey=file:///ios/RPM-GPG-KEY-oracle


2、下载redis
http://download.redis.io/releases/redis-3.2.2.tar.gz



3、安装
cd /usr/local
tar xvf redis-3.2.2.tar.gz
cd redis-3.2.2
make
显示缺gcc
安装命令如下:
yum -y install gcc*


再运行make 显示如下
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2

解决办法是:
make MALLOC=libc


最后显示
   CC redis-check-rdb.o
    CC geo.o
    LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    CC redis-check-aof.o
    LINK redis-check-aof

Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/usr/local/redis-3.2.2/src'



运行make test显示如下
cd src && make test
make[1]: Entering directory `/usr/local/redis-3.2.2/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/redis-3.2.2/src'
make: *** [test] Error 2

说明需要tcl 8.5  以上的版本
安装命令如下:
yum -y install tcl-8.5*
安装完之后在/usr/local/redis-3.2.2下运行
make test

最后显示表示成功安装完毕:
  169 seconds - unit/geo
  302 seconds - unit/type/list-2
  301 seconds - integration/replication-4
  311 seconds - integration/replication-3
  166 seconds - unit/hyperloglog
  321 seconds - unit/obuf-limits

\o/ All tests passed without errors!

Cleanup: may take some time... OK
make[1]: Leaving directory `/usr/local/redis-3.2.2/src'

4.启动服务
关闭防火墙
service iptables stop
chkconfig iptables off

编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。
mkdir /usr/redis
cd src
cp redis-server  /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli  /usr/redis
cd ..
cp redis.conf  /usr/redis

cd /usr/redis
启动Redis服务。
$ ./redis-server redis.conf & 为后台启动
然后用客户端测试一下是否启动成功。

5.测试
$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"


二.在同一台服务器上新增加一台redis 对应端口8887
1、cp -r /usr/redis /usr/redis2
2、修改配置/usr/redis2/redis.conf
   port 6379                                 改为 port 8887
   pidfile /var/run/redis_6379.pid pidfile   改为 /var/run/redis_8887.pid
3. 开启6379、8887的redis
   redis-cli -h 10.3.2.12 -p 6379
   redis-cli -h 10.3.2.12 -p 8887

 

三、6379作master ,8887作slave ,开启replication
    如何配置Replication:
    见如下步骤:
    1). 同时启动两个Redis服务器,可以考虑在同一台机器上启动两个Redis服务器,分别监听不同的端口,如6379和8887。
    2). 在Slave服务器上执行一下命令:
    /> redis-cli -p 8887   #这里我们假设Slave的端口号是8887
    redis 10.3.2.12:8887> slaveof 10.3.2.12 6379 #我们假设Master和Slave在同一台主机,Master的端口为6379
    OK
    上面的方式只是保证了在执行slaveof命令之后,redis_8887成为了redis_6379的slave,一旦服务(redis_8887)重新启动之后,他们之间的复制关系将终止。
    如果希望长期保证这两个服务器之间的Replication关系,可以在redis_8887的配置文件中做如下修改:
    /> cd /etc/redis  #切换Redis服务器配置文件所在的目录。
    /> ls
    6379.conf  8887.conf
    /> vi 8887.conf
    将
    # slaveof <masterip> <masterport>
    改为
    slaveof 10.3.2.12 6379
    保存退出。
    这样就可以保证Redis_8887服务程序在每次启动后都会主动建立与Redis_6379的Replication连接了
    
    关闭 redis-cli -h 10.3.2.12 -p 8887  shutdown
    启动 ./redis-server redis.conf

posted @ 2017-11-14 16:26  smartisan。  阅读(328)  评论(0编辑  收藏  举报