centos 安装搭建redis3.2.5 主从

前端之家收集整理的这篇文章主要介绍了centos 安装搭建redis3.2.5 主从前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

centos 安装搭建redis3.2.5 主从

我是用两个版本的centos6.8 和 centos7.0来搭建redis主从的。


1、安装前添加支持

-1.1、下载安装 tcl

# cd /usr/src/ && wget http://downloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz
# tar xf tcl8.6.0-src.tar.gz && cd tcl8.6.0 
# cd unix && ./configure --prefix=/usr \
            --mandir=/usr/share/man \
            --without-tzdata \
            $([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make &&
sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
    -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
    -i tclConfig.sh

# make install && 
make install-private-headers &&
ln -v -sf tclsh8.6 /usr/bin/tclsh &&
chmod -v 755 /usr/lib/libtcl8.6.so

-1.2、安装编译工具

# yum -y install gcc make

2、开始安装单体redis

上面步骤安装好,下载好redis后,就开始编译安装redis

[root@localhost home]# tar -zxvf redis-3.2.5.tar.gz
[root@localhost home]# mv redis-3.2.5 /usr/local/redis
[root@localhost home]# cd /usr/local/redis/
[root@localhost redis]# cp redis.conf /etc/
[root@localhost redis]# vim /etc/redis.conf
daemonize yes
pidfile /var/run/redis.pid
logfile "/var/log/redis.log" 
dbfilename dump.rdb         #指定快照文件
dir /var/lib/redis       #指定快照文件存储路径
requirepass 1234  #本地安装测试用所以简单点,线上的话要设置很长很不规则的密码哦~ 由于redis性能极高,密码验证错误后redis并不会进行主动延迟,攻击者一秒可以穷举十几万个密码,所以要设置复杂的密码
重启使配置生效
#//:wq保存退出
#//创建相关文件目录并赋权限
[root@localhost redis]# mkdir /var/lib/redis
[root@localhost redis]# chown redis:redis -R /var/lib/redis
#//ok 开始编译安装
[root@localhost redis]# make MALLOC=libc
[root@localhost redis]# make test
[root@localhost redis]# make install

-如果make test出现以下报错:

[root@localhost redis]# make test
cd src && make test
make[1]: Entering directory `/usr/local/redis/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/src'
make: *** [test] Error 2

-则可能没有执行:

没有在/etc 文件夹中创建 编译redis.cnf 或者 创建/var/lib/redis 赋权限

-启动redis

[root@localhost redis]# redis-server /etc/redis.cnf &
[root@localhost redis]# netstat -anutpl|grep 6379

-登录redis,创建数据,测试:

[root@localhost redis]# redis-cli
redis 127.0.0.1:6379> auth 1234  
OK  
redis 127.0.0.1:6379> set key1 value1  
OK  
redis 127.0.0.1:6379> get key1  
"value1"

如果设置key1值成功后,在获得key1值成功就说明安装成功了。

-添加开机启动:

[root@localhost ~]# chkconfig --add redis-server
[root@localhost ~]# chkconfig --level 345 redis-server on
[root@localhost ~]# chkconfig --list redis-server

-关闭redis:

[root@localhost ~]# redis-cli shutdown

3、主从集群配置

-3.1修改主机redis.cnf文件

[root@localhost ~]# vim /etc/redis.cnf

#是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件
daemonize no  -->   daemonize yes   

#pid文件的路径 
#pidfile --> pidfile /var/run/redis_6379.pid 
pidfile /var/run/redis_6379.pid
#主服务器端口 
port 6379  

#日志级别 (debug、verbose、notice、warning) 
loglevel notice  

#日志文件路径 
logfile /var/log/redis.log  


#数据库文件路径:数据库文件的位置,最好添加绝对路径,若不添加时在启动用户的home目录下 
dbfilename dump.rdb  

#主从服务器的地址和端口。例如:slaveof 192.168.1.1 6379 如果是主服务器不需要开启此项 
#slaveof <masterip> <masterport> 

#从服务器只读选项,默认是yes,只读模式 
slave-read-only no  
#服务器密码:如果主服务设置了密码,从服务需要配置masterauth 这个选项 
requirepass 1234  

#主服务访问密码:从服务器设置,主服务器不需要设置 
#masterauth kcpt 

#如果是主机的话bind要改成0.0.0.0,丛机不需要(一定要修改,否则主从连接失败)
#bind 127.0.0.1 
bind 0.0.0.0

-3.2、修改从机redis.cnf

[root@localhost ~]# vim /etc/redis.cnf

#是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件
daemonize no  -->   daemonize yes   

#pid文件的路径 
#pidfile --> pidfile /var/run/redis-slave.pid 

#主服务器端口 
port 6379  
#日志级别 (debug、verbose、notice、warning) 
loglevel notice  

#日志文件路径 
logfile /var/log/redis.log


#数据库文件路径:数据库文件的位置,最好添加绝对路径,若不添加时在启动用户的home目录下 
dbfilename dump.rdb  

#主从服务器的地址和端口。例如:slaveof 192.168.1.169 6379 如果是主服务器不需要开启此项 
slaveof 192.168.1.169 6379  
#从服务器只读选项,默认是yes,只读模式 
slave-read-only no  
#服务器密码:如果主服务设置了密码,从服务需要配置masterauth 这个选项,从服务器也可以设置自己的密码 
requirepass 5678  

#主服务访问密码:从服务器设置,主服务器不需要设置 
masterauth 1234

-3.3、然后记得修改主从防火墙,开放6379端口。
启动主从服务器:先启动主服务器,在启动从服务器

-3.4、测试主从是否连接

[root@localhost redis]# redis-cli
127.0.0.1:6379> auth 1234
OK
127.0.0.1:6379> info
# Server
redis_version:3.2.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:653a283c36053acd
redis_mode:standalone
os:Linux 3.10.0-327.36.3.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:6258
run_id:047043d1b9377b5a46c1ed842ff1c0870c99ce44
tcp_port:6379
uptime_in_seconds:146330
uptime_in_days:1
hz:10
lru_clock:5293078
executable:/var/log/redis-server
config_file:/etc/redis.conf
·
·
省略号
·
·
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.170,port=6379,state=online,offset=113416,lag=1
master_repl_offset:113416
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:111639
repl_backlog_histlen:1778

如果主机# Replication 中出现则表示主从机连接成功

-3.5、从机测试

[root@localhost redis]# redis-cli
127.0.0.1:6379> auth 5678
OK
127.0.0.1:6379> info
# Replication
role:slave
master_host:192.168.1.169
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:114158
slave_priority:100
slave_read_only:0
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

如果从机# Replication出现并且master_link_status:up 为up则表示连接成功

原文链接:https://www.f2er.com/centos/379447.html

猜你在找的CentOS相关文章