Redis服务端的配置(单机+集群)

Linux下安装 Redis

1、wget http://download.redis.io/redis-stable.tar.gz

2、tar xvzf redis-stable.tar.gz

3、cd redis-stable

4、make

前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。

异常一:

make[2]: cc:Command not found

异常原因:没有安装gcc

解决方案:yum install gcc-c++

异常二:

zmalloc.h:51:31:error: jemalloc/jemalloc.h: No such file or directory

异常原因:一些编译依赖或原来编译遗留出现的问题

解决方案:make distclean。清理一下,然后再make。

在mke成功以后,需要make test。在make test出现异常。

异常一:

couldn't execute"tclsh8.5": no such file or directory

异常原因:没有安装tcl

解决方案:yum install -y tcl。

在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等

1.Redis配置(单机)

方便后期使用,可以用cp命令复制到usr目录下运行。

cd src

cp redis-server/usr/local/bin/

cp redis-cli/usr/local/bin/

然后新建目录,存放配置文件

mkdir /etc/redis

mkdir /var/redis

mkdir/var/redis/log

mkdir/var/redis/run

mkdir/var/redis/6379

在redis解压根目录中找到配置文件模板,复制到如下位置。

cd ..

cp redis.conf/etc/redis/6379.conf

通过vi命令修改

vi/etc/redis/6379.conf

改动为如下内容:

daemonize yes

pidfile/var/redis/run/redis_6379.pid

logfile/var/redis/log/redis_6379.log

最后运行redis:

使用指定配置文件启动

$/usr/local/redis-stable/src/redis-server /etc/redis/6379.conf

将Redis作为 Linux 服务随机启动

vi /etc/rc.local,使用vi编辑器打开随机启动配置文件,并在其中加入下面一行代码。

/usr/local/redis-stable/src/redis-server/etc/redis/6379.conf


2.redis配置(集群:一主两从三哨兵)

参考文档:

yum -y install gcc-c++ tcl

tar xvzf redis-2.8.3.tar.gz -C /usr/local/
cd /usr/local/redis-2.8.3/
make
(若失败运行make distclean,然后make MALLOC=libc)

成功后:make test
然后:make install(拷贝编译好的文件到/usr/local/bin/)
mkdir /etc/redis; mkdir -pv /var/redis/{log,run,6379,sentinel}

!!!!不要安装3.2.0 3.2.1等高版本,sentinel bug多,无法正常failover !!!!

=====================================================================================

主redis:
port 6379
daemonize yes
bind 0.0.0.0
logfile "/var/redis/log/sentinel.log"
pidfile "/var/run/redis.pid"
dir "/var/redis/6379"
slave-read-only yes
appendonly no


从redis:
port 6379
daemonize yes
bind 0.0.0.0
logfile "/var/redis/log/sentinel.log"
pidfile "/var/run/redis.pid"
dir "/var/redis/6379"
slave-read-only yes
appendonly no
slaveof 192.168.16.121 6379


哨兵:
port 26379
daemonize yes
dir "/var/redis/sentinel/
logfile "/var/redis/log/sentinel.log"
sentinel monitor mymaster 192.168.16.121 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1




开机启动:
redis-server /etc/redis/redis.conf 启动redis服务
redis-server /etc/redis/sentinel.conf --sentinel 启动哨兵

常用命令:
redis-cli -p 6379 进入redis命令行
redis-cli -p 26379 进入sentinel命令行
进入命令行后用info在命令行下查看各信息
redis-cli -p 6379 DEBUG sleep 30 测试server下线30秒的高可用情况


============================================================================
构架图:
+----+
| M1 |
| S1 |
+----+
|
+----+ | +----+
| R2 |----+----| R3 |
| S2 | | S3 |
+----+ +----+
Masters are called M1, M2, M3, ..., Mn.
Slaves are called R1, R2, R3, ..., Rn (R stands for replica).
Sentinels are called S1, S2, S3, ..., Sn.

M1:ip=192.168.16.121,port=6379
R2:ip=192.168.16.122,port=6379
R3:ip=192.168.16.123,port=6379


3.redis服务端常用命令

redis开启:/usr/redis/src/redis-server /usr/redis/redis.conf

redis关闭:/usr/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

redis状态查看:/usr/redis/src/redis-cli


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章