linux下redis 3.2.1双节点集群安装部署
2017-11-09 00:00
881 查看
一.环境准备
1.JDK环境准备,需卸载掉自带JDK
(1)检查服务器是否自带jdk环境
[root@redis1 /]# rpm -qa|grep jdk java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64 [root@redis1 /]#
(2)卸载自带JDK
[root@redis1/]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
(3)查看JDK版本,出现下面情况说明卸载成功了
[root@redis1 /]# java -version -bash: /usr/bin/java: No such file or directory
(4)安装JDK
1.在根目录/下创建app文件夹[root@redis1 /]# makdir /app
2.将下载好的linux版本的JDK上传到app目录下
[root@redis1 /]# ls /app jdk-7u71-linux-x64.tar.gz
3.解压JDK
[root@redis1 ~]# cd /app [root@redis1 app]# tar -zxvf jdk-7u71-linux-x64.tar.gz
4.配置JDK环境
[root@redis1 app]# vi /etc/profile
在profile文件的末尾添加java环境配置
#set java environment export JAVA_HOME=/app/jdk1.7.0_71 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新配置文件,使增加的配置生效
[root@redis1 app]# source /etc/profile
查看JDK版本,看java是否安装成功
[root@redis1 app]# java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
2.gcc-c ++环境准备,内网环境只能手动安装gcc-c ++环境
(1)下载要用到的rpm包,并且将这些包上传到/app目录下
下载地址http://vault.centos.org/6.3/os/x86_64/Packages/ppl-0.10.2-11.el6.x86_64.rpm cloog-ppl-0.15.7-1.2.el6.x86_64.rpm mpfr-2.4.1-6.el6.x86_64.rpm cpp-4.4.6-4.el6.x86_64.rpm kernel-headers-2.6.32-279.el6.x86_64.rpm glibc-headers-2.12-1.80.el6.x86_64.rpm glibc-devel-2.12-1.80.el6.x86_64.rpm libstdc++-devel-4.4.6-4.el6.x86_64.rpm gcc-4.4.6-4.el6.x86_64.rpm gcc-c++-4.4.6-4.el6.x86_64.rpm
(2)安装gcc-c++依赖rpm文件
[root@redis1 app]# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm warning: ppl-0.10.2-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Preparing...########################################### [100%] 1:ppl ########################################### [100%] [root@redis1 app]# [root@redis1 app]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm warning: cloog-ppl-0.15.7-1.2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Preparing... ####################### 3ff0 #################### [100%] 1:cloog-ppl ########################################### [100%] [root@redis1 app]# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm warning: mpfr-2.4.1-6.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:mpfr ########################################### [100%] [root@redis1 app]# rpm -ivh cpp-4.4.6-4.el6.x86_64.rpm warning: cpp-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:cpp ########################################### [100%] [root@redis1 app]# rpm -ivh kernel-headers-2.6.32-279.el6.x86_64.rpm warning: kernel-headers-2.6.32-279.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing...########################################### [100%] 1:kernel-headers ########################################### [100%] [root@redis1 app]# rpm -ivh glibc-headers-2.12-1.80.el6.x86_64.rpm warning: glibc-headers-2.12-1.80.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:glibc-headers ########################################### [100%] [root@redis1 app]# rpm -ivh glibc-devel-2.12-1.80.el6.x86_64.rpm warning: glibc-devel-2.12-1.80.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:glibc-devel ########################################### [100%] [root@redis1 app]# rpm -ivh gcc-4.4.6-4.el6.x86_64.rpm warning: gcc-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing...########################################### [100%] 1:gcc ########################################### [100%] [root@redis1 app]# rpm -ivh libstdc++-devel-4.4.6-4.el6.x86_64.rpm warning: libstdc++-devel-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing...########################################### [100%] 1:libstdc++-devel ########################################### [100%] [root@redis1 app]# rpm -ivh gcc-c++-4.4.6-4.el6.x86_64.rpm warning: gcc-c++-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing...########################################### [100%] 1:gcc-c++ ########################################### [100%]
(3)查看gcc-c++是否安装成功
[root@redis2 app]# gcc -v Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
二.redis双节点集群
1.部署ip说明:
192.168.10.71 26379(redis sentinel 集群监控)192.168.10.71 6379(redis 主)
192.168.10.72 7379(redis 从)
2.开始安装redis
(1)将下载好的linux版本的redis-3.2.11.tar.gz放到/app目录下
(2)解压redis-3.2.11.tar.gz
[root@redis2 ~]# cd /app [root@redis2 app]# tar -zxvf redis-3.2.11.tar.gz
(3)进入到解压后的redis-3.2.11目录下,用gcc-c++对解压后的redis进行编译
[root@redis1 redis-3.2.11]# make MALLOC=libc #编译命令执行完成后,会在当前目录的src下生成可执行文件, #分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下: #redis-server:Redis服务器的daemon启动程序 #redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作 #redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能 #redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。 #安装完成,启动(启动/usr/local/bin路径下的redis程序)redis-server #启动完成后可执行ps -ef | grep redis 命令,以检查是否启动成功。 #将编译好的redis-server,redis-cli复制到/usr/local/bin/目录下 [root@redis1 src]# cp redis-server /usr/local/bin/ [root@redis1 src]# cp redis-cli /usr/local/bin/
如下方式编译会报错:
####这里用make命令会出现下面错误 [root@redis1 redis-3.2.11]# make cd src && make all make[1]: Entering directory `/app/redis-3.2.11/src' CC adlist.o /bin/sh: cc: command not found make[1]: *** [adlist.o] Error 127 make[1]: Leaving directory `/app/redis-3.2.11/src' make: *** [all] Error 2 [root@redis1 redis-3.2.11]# ^C [root@redis1 redis-3.2.11]# Loaded plugins: product-id, refresh-packagekit, security, subscription-manager Updating certificate-based repositories. Unable to read consumer identity Setting up Install Process No package gcc available. Error: Nothing to do #主要原因: #说关于分配器allocator,如果有MALLOC这个环境变量, 会有用这个环境变量的去建立Redis。 #而且libc并不是默认的分配器,默认的是jemalloc,因为jemalloc被证明有更少的 fragmentation problems比libc。 #但是如果你又没有jemalloc而只有libc当然make出错。所以加这么一个参数。 #解决办法:make MALLOC=libc
(4)修改redis.conf配置文件
Master redis配置1.创建redis配置文件目录/monitor/redis_master_slave/6379/
[root@redis1 ~]# cd /app/redis-3.2.11 [root@redis1 redis-3.2.11]# mkdir -p /monitor/redis_master_slave/6379/ ####将/app/redis-3.2.11下的redis.conf复制一份到/monitor/redis_master_slave/6379/下 [root@redis1 redis-3.2.11]# cp redis.conf /monitor/redis_master_slave/6379/
2.主的redis配置文件,使用默认的配置文件就可以了,如果你需要设计其他参数,主从节点采用AOF存储方式,主节点修改redis.conf:
[root@redis1 ~]# cd /monitor/redis_master_slave/6379/ [root@redis1 6379]# vi redis.conf #主的redis配置文件,需要添加 daemonize yes port 6379 bind 192.168.10.71 ####线上环境绑定IP pidfile /monitor/redis_master_slave/6379/redis.pid logfile "/monitor/redis_master_slave/6379/redis.log" dir "/monitor/redis_master_slave/6379/" appendonly yes
Slave redis配置
1.创建redis配置文件目录/monitor/redis_master_slave/7379/
[root@redis2 ~]# cd /app/redis-3.2.11 [root@redis2 redis-3.2.11]# mkdir -p /monitor/redis_master_slave/7379/ ####将/app/redis-3.2.11下的redis.conf复制一份到/monitor/redis_master_slave/7379/下 [root@redis2 redis-3.2.11]# cp redis.conf /monitor/redis_master_slave/7379/
2.从的redis配置文件,需要添加
[root@redis2 redis-3.2.11]# cd /monitor/redis_master_slave/7379/ [root@redis2 7379]# vi redis.conf #从的redis配置文件,需要添加 daemonize yes port 7379 bind 192.168.10.72 ####线上环境绑定IP pidfile /monitor/redis_master_slave/7379/redis.pid logfile "/monitor/redis_master_slave/7379/redis.log" dir "/monitor/redis_master_slave/7379/" appendonly yes slaveof 192.168.10.71 6379
(5)关闭防火墙
关掉主服务器防火墙临时关闭:
service iptables stop
永久关闭:
chkconfig iptables off
防火墙打开端口
# /sbin/iptables -I INPUT -p tcp –dport 6379 -j ACCEPT # /etc/init.d/iptables save # service iptables restart
(6)启动主从redis服务
#启动redis master服务 [root@redis1 ~]# cd /app/redis-3.2.11/src [root@redis1 src]# /usr/local/bin/redis-server /monitor/redis_master_slave/6379/redis.conf
#启动redis slave服务 [root@redis2 ~]# cd /app/redis-3.2.11/src [root@redis2 src]# /usr/local/bin/redis-server /monitor/redis_master_slave/7379/redis.conf
(7)查看主从redis信息
#查看redis的主机信息 [root@redis1 ~]# cd /app/redis-3.2.11/src [root@redis1 src]# redis-cli -h 192.168.10.71 -p 6379 info Replication # Replication role:master connected_slaves:1 slave0:ip=192.168.10.72,port=7379,state=online,offset=169,lag=0 master_repl_offset:169 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:2 repl_backlog_histlen:168
#查看redis的从机信息 [root@redis2 ~]# cd /app/redis-3.2.11/src [root@redis2 src]# redis-cli -h 192.168.10.72 -p 7379 info Replication # Replication role:slave master_host:192.168.10.71 master_port:6379 master_link_status:up master_last_io_seconds_ago:6 master_sync_in_progress:0 slave_repl_offset:10165 slave_priority:100 slave_read_only:1 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
那么表示一切都正常了。
到这儿,你的redis 双节点集群就已经搭建成功,但是还没有完,请继续往下!
三.配置redis sentinel集群监控服务
1.创建redis sentinel配置文件目录/monitor/redis_master_slave/sentinel/[root@redis1 src]# cd /app/redis-3.2.11 [root@redis1 redis-3.2.11]# mkdir -p /monitor/redis_master_slave/sentinel/ #将/app/redis-3.2.11下的/sentinel.conf复制一份到/monitor/redis_master_slave/sentinel/下 [root@redis1 redis-3.2.11]# cp sentinel.conf /monitor/redis_master_slave/sentinel/sentinel26379.conf
2.Sentinel服务器多台服务器时间必须同步(TILT 模式)。
1份sentinel配置,修改sentinel26379.conf redis-sentinel 配置文件
[root@redis1 redis-3.2.11]# vi /monitor/redis_master_slave/sentinel/sentinel26379.conf # Example sentinel.conf # port <sentinel-port> # The port that this sentinel instance will run on port 26379 protected-mode no ####这个必须打开,因为在redis中是保护模式的,不然无法连接 sentinel monitor mymaster 192.168.10.61 6379 1 sentinel down-after-milliseconds mymaster 2000 sentinel failover-timeout mymaster 180000 sentinel parallel-syncs mymaster 1
启动redis sentinel做redis集群监听
[root@redis1 redis-3.2.11]# cd /monitor/redis_master_slave/sentinel [root@redis1 sentinel]# nohup redis-sentinel /monitor/redis_master_slave/sentinel/sentinel26379.conf >sentinel.log 2>&1 & [root@redis1 sentinel]# tail -100f sentinel.log [17444] 25 Aug 14:09:48.936 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.11 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in sentinel mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 26379 | `-._ `._ / _.-' | PID: 17444 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [17444] 25 Aug 14:09:48.938 # Sentinel runid is f79f39d3f5cab737f21a87c32b7f6900294ec2a1 [17444] 25 Aug 14:09:48.938 # +monitor master mymaster 192.168.10.71 6379 quorum 1 [17444] 25 Aug 14:09:48.939 * +slave slave 192.168.10.72:7379 192.168.10.72 7379 @ mymaster 192.168.10.71 6379
执行以下命令,查看redis主从信息
[root@redis1 ~]# redis-cli -h 192.168.10.71 -p 26379 info Sentinel # Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 master0:name=mymaster,status=ok,address=192.168.10.71:6379,slaves=1,sentinels=1
那么表示一切都正常了。
到这儿,你的redis sentinel集群已经配置成功!
相关文章推荐
- Linux下Redis集群安装部署及使用详解
- Linux 下Redis集群安装部署及使用详解
- Linux下的redis单节点安装和部署(redis-4.0.0.tar.gz)
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
- Redis向集群节点添加、删除和分配slot(安装部署时)
- Linux下redis安装部署
- Linux下Redis的安装和部署
- Linux下Redis的安装和部署
- Redis简介以及Linux环境下的安装与部署
- Kafka 安装部署及使用(单节点/集群)
- Redis安装与集群部署
- NodeBB 安装部署 Linux(阿里云 CentOS 6.3 Redis NodeJS)
- Linux下Redis的安装和部署
- linux下weblogic12c集群的安装部署
- Ceph实战入门系列(一)——三节点Ceph集群的安装与部署
- Linux下Redis的安装和部署
- Linux下redis的安装及部署
- Linux 下 Redis 分布式集群安装使用
- Linux部署(4)Redis的安装