为什么80%的码农都做不了架构师?>>>   

一.环境准备

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... ########################################### [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集群已经配置成功!

转载于:https://my.oschina.net/90888/blog/1570726

linux下,redis 3.2.1双节点集群安装部署相关推荐

  1. 【VMware vSAN 7.0】6.6 使用快速入门功能配置延伸集群或双节点集群—我们有软硬件解决方案

    目录 1. vSAN简介 1.1 vSAN 概念 1.1.1 vSAN 的特性 1.2 vSAN术语和定义 1.3 vSAN 和传统存储 1.4 构建 vSAN 群集 1.5 vSAN 部署选项 1. ...

  2. 【VMware vSAN 7.0】6.13 将双节点集群分配给共享见证主机—我们有软硬件解决方案

    目录 1. vSAN简介 1.1 vSAN 概念 1.1.1 vSAN 的特性 1.2 vSAN术语和定义 1.3 vSAN 和传统存储 1.4 构建 vSAN 群集 1.5 vSAN 部署选项 1. ...

  3. 一步步教你Hadoop多节点集群安装配置

    一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介  Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...

  4. centos7 下google Kubernetes(k8s)集群安装部署

    centos7 下google Kubernetes(k8s)集群安装部署 简介 安装环境 安装前准备 ECTD集群配置 命令含义: master节点配置 1.安装kubernetes和etcd 2. ...

  5. 超级账本Fabric 1.0多节点集群的部署(2)

    上期文章阐述了超级账本 Fabric 1.0多节点部署的方法概述,得到广大读者的关注,笔者们连夜赶工,今天发布连载之二,介绍具体搭建 Fabric 1.0 集群的步骤. 注:部署过程中大量使用了doc ...

  6. Linux下的5款主流高可用集群软件介绍

    Linux集群主要分成三大类:高可用集群(High Availability Cluster).负载均衡集群(Load Balance Cluster).科学计算集群(High Performance ...

  7. linux下一个apache+tomcat负载均衡和集群

    先说一下我的环境 一个ubuntu虚拟机, 一个apache2.2示例 两tomcat1.7示例 1.安装apacheserver sudo apt-get install apache2 假设要重新 ...

  8. Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)

    最近公司要给客户提供一套集群方案,项目组采用了Apache和Tomcat的集群配置,用于实现负载均衡的实现. 由于以前没有接触过Apache,因此有些手生,另外在网上搜寻了很多有关这方面的集群文章,但 ...

  9. RabbitMQ双节点集群搭建

    一 实验环境 二 安装步骤 2.1 安装单实例RabbitMQ 可参考:安装rabbitmq 3.7.6_雅冰石的专栏-CSDN博客 2.2 修改两台服务器的/etc/hosts文件 添加: 192. ...

最新文章

  1. Pytorch:深度学习中pytorch/torchvision版本和CUDA版本最正确版本匹配、对应版本安装之详细攻略
  2. 有关identity的小技巧
  3. 无迹卡尔曼滤波(UKF)
  4. 熊猫直播凉了,直播大战厮杀后只剩遍地鸡毛! | 畅言
  5. php 未找到驱动程序,Laravel 5 PDOException找不到驱动程序
  6. 提供生成静态页核心代码
  7. web服务-Axis2的安装
  8. SPSS 项目分析(图文+数据集)【SPSS 032期】
  9. 01--DNS服务器2
  10. amtlib.dll被McAfee删除之后?
  11. 常用windows系统的100个dos命令
  12. 微信个人名片H5生成器
  13. CUE 文件及其格式说明
  14. mac系统升级后git使用不了
  15. 存储IP地址,到底用什么数据类型相对比较好
  16. 安卓玩机搞机-----没有第三方包 刷写第三方各种GSI系统 体验非官方系统
  17. java基础常见面试题
  18. 解决eclips代码批量首行缩进 退格 调试
  19. 职能与职位的区别_使安全职能与战略,目标和使命保持一致
  20. 数据结构与算法(003):线性表-概述

热门文章

  1. shell 生成指定范围随机数与随机字符串 .
  2. phoneGap+jquery mobile项目经验
  3. Devexpress XtraGrid 控件编辑的内容,如何实时生效
  4. oracle监听错误与hosts文件配置
  5. mxmkc编译器参数!
  6. Scrum立会报告+燃尽图(十一月十五日总第二十三次):代码规范与技术交流
  7. 超级队长VR线下体验店落地上海,让娱乐突破想象
  8. [CareerCup] 17.7 English Phrase Describe Integer 英文单词表示数字
  9. cisco 访问控制列表ACL笔记
  10. 墨卡托坐标转换成经纬度