1、编译环境准备1.1环境确认Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。所以在搭建Redis服务器时需要C语言的编译环境gcc或g++。 首先确认系统中是否存在C语言的编译环境,终端运行如下命令: #gcc –version 或 #g++ --version 如果出现如下字样则表示系统中存在C语言的编译环境,不需要安装。 gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE 或 g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 如果没有,就需要在系统中安装gcc、g++。 1.2 64位redhat中安装gcc、g++将安装所需的rpm包拷贝到目标机器上,然后按照以下顺序安装: (1) 安装gcc,软件安装顺序不能错 # rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm # rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm # rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm # rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm # rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm # rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm # rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm # rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm # rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm # rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm # rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm # rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm # rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm (2) 安装gcc-c++ # rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm # rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm # rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm 注意,正常情况下这样安装是不存在问题的,但是在某些环境下安装第一个rpm包的时候就会报错。这个时候就在所有的命令后加“--nodeps –force”,就像: # rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm --nodeps –force 再次运行就没有问题了。 2、安装及配置Redis2.1安装Redis将redis-2.6.16.tar.gz解压,然后安装。步骤及相关命令如下: #tar –xvzf redis-2.6.16.tar.gz #cd redis-2.6.16 #make 一些版本的linux在make的时候会报错,如图2.1所示。
图2.1 编译Redis出错 分析原因为32位的程序在64为的系统中编译出错。解决方法: (1)将解压后的redis文件夹删除,重新解压; (2)进入解压后的redis文件夹执行: make CFLAGS="-march=i686" Make成功后,在src文件夹中会生成若干可执行文件,运行: ./redis-server 将会出现如图2.2所示的画面。
图2.2 Redis服务开启画面 2.2配置Redis2.2.1 复制到指定文件夹#mkdir -p /usr/local/webserver/redis/conf #mkdir -p /usr/local/webserver/redis/run #mkdir -p /usr/local/webserver/redis/db #cp redis.conf /usr/local/webserver/redis/conf/ #cd cd redis-2.6.16/src 将 src 目录下所有可执行文件复制到安装目录 #cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server mkreleasehdr.sh /usr/local/webserver/redis/ 2.2.2修改配置文件中的如下选项#vi /usr/local/webserver/redis/conf/redis.conf daemonize yes pidfile /usr/local/webserver/redis/run/redis.pid dir /usr/local/webserver/redis/db 2.2.3创建服务脚本(1)启动脚本 #vi /usr/local/webserver/redis/start.sh #!/bin/bash /usr/local/webserver/redis/redis-server /usr/local/webserver/redis/conf/redis.conf (2)停止脚本 #vi /usr/local/webserver/redis/stop.sh #!/bin/bash kill `cat /usr/local/webserver/redis/run/redis.pid` (3)为服务脚本赋权限 chmod a+x /usr/local/webserver/redis/start.sh /usr/local/webserver/redis/stop.sh 2.2.4启动 redis 服务#/usr/local/webserver/redis/start.sh 验证证服务是否成功: #netstat -nlpt | grep 6379 2.2.5启动客户端验证#/usr/local/webserver/redis/redis-cli >set key1 val1 >get key1 2.2.6停止redis服务#/usr/local/webserver/redis/stop.sh 2.3java客户端实例在Java客户端,只需要将Jedis依赖的jar包:jedis-2.1.0.jar引入,就可以建立连接,然后进行读写操作了,如图2.3所示。
图2.3 java客户端连接并读写redis 3、Redis主从配置3.1Redis Master/Slave 主从配置这里我们配置 1台Master +1台Slave 为例子,其中: Master IP:192.168.32.166 Port:6379 Slave IP:192.168.32.188 Port:6379 注意,两台机器的IP地址要在同一网段内,否则无法实现集群。两台机器上均按照以上步骤安装并配置好redis服务。在Slave机器上修改配置文件,使其成为Master的从机。命令及配置如下: #vi /usr/local/webserver/redis/conf/redis.conf slaveof 192.168.32.166 6379 3.2启动redis服务先开启主机上的服务,后开机从机上的服务。 3.3验证M/S服务是否生效主机上: /usr/local/webserver/redis/redis-cli >set key1 val1 >quit 从机上: /usr/local/webserver/redis/redis-cli >get key1
"val1" (表示数据成功同步了) |