redis3.0.0 集群环境部署

(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)

127.0.0.1:7000
127.0.0.1:7001

127.0.0.1:7002

127.0.0.1:7003

127.0.0.1:7004

127.0.0.1:7005

1.下载redis。官网下载3.0.0版本,之前2.几的版本不支持集群模式

wget https://github.com/antirez/redis/archive/3.0.0-rc2.tar.gz

2.解压安装

tar -zxvf redis-3.0.0-rc2.tar.gz

mv redis-3.0.0-rc2.tar.gz /usr/local/redis3.0

cd /usr/local/redis3.0

make 若报错则执行(make MALLOC=libc)

make install

编译时可能会报错:

安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法

错误描述

安装Redis 2.8.18时报错:

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

zmalloc.h:55:2: error: #error "Newer version of jemalloc required"

make[1]: *** [adlist.o] Error 1

make[1]: Leaving directory `/data0/src/redis-2.6.2/src‘

make: *** [all] Error 2

原因分析

在README 有这个一段话。

Allocator

---------

Selecting a non-default memory allocator when building Redis is done by setting

the `MALLOC` environment variable. Redis is compiled and linked against libc

malloc by default, with the exception of jemalloc being the default on Linux

systems. This default was picked because jemalloc has proven to have fewer

fragmentation problems than libc malloc.

To force compiling against libc malloc, use:

% make MALLOC=libc

To compile against jemalloc on Mac OS X systems, use:

% make MALLOC=jemalloc

说关于分配器allocator,如果有MALLOC 这个环境变量,会有用这个环境变量的去建立Redis。

而且libc并不是默认的分配器,默认的是 jemalloc,因为 jemalloc 被证明有更少的fragmentation problems比libc。

但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。

解决办法

make MALLOC=libc

3.创建集群需要的目录

mkdir -p /usr.local/cluster

cd /usr.local/cluster

4.修改配置文件redis.conf

cp /usr/local/redis3.0/redis.conf /usr.local/cluster/

vim redis.conf

###需要修改的内容##

port 7000

daemonize yes

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

appendonly yes

##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面

##注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称

5.分别启动这6个redis实例

cd /usr/local/cluster/7000

redis-server redis.conf

cd /usr/local/cluster/7001

redis-server redis.conf

cd /usr/local/cluster/7002

redis-server redis.conf

cd /usr/local/cluster/7003

redis-server redis.conf

cd /usr/local/cluster/7004

redis-server redis.conf

cd /usr/local/cluster/7005

redis-server redis.conf

##启动之后使用命令查看redis的启动情况ps -ef|grep redis

[[email protected] ~]# ps -ef|grep redis

root      2495     1  0 20:09 ?        00:00:04 redis-server *:7000 [cluster]

root      2505     1  0 20:10 ?        00:00:05 redis-server *:7001 [cluster]

root      2510     1  0 20:10 ?        00:00:04 redis-server *:7002 [cluster]

root      2520     1  0 20:13 ?        00:00:04 redis-server *:7003 [cluster]

root      2528     1  0 20:14 ?        00:00:04 redis-server *:7004 [cluster]

root      2534     1  0 20:14 ?        00:00:04 redis-server *:7005 [cluster]

root      2878   1477  0 20:54 pts/0     00:00:00 grep redis

6.执行redis的创建集群命令创建集群

安装创建集群所需要的环境及插件

yum install -y ruby

yum install -y rubygems

gem install redis(redis和ruby的接口,使用gem安装)(本次实验环境可上网)

cd /usr/local/redis3.0/src/

./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

至此redis集群即搭建成功!

7.使用redis-cli命令进入集群环境

redis-cli -c -p 7000

加入-c ,可以在输入的键值不在指定的端口时会自动跳转到对应的端口。

时间: 2024-08-09 02:18:39

redis3.0.0 集群环境部署的相关文章

SUSE11 Oracle 11g RAC双机集群环境部署

Oracle RAC集群环境部署 一. 安装前准备 (1) Linux系统版本 SUSE Linux Enterprise Server 11 (x86_64) (2) Oracle database和Grid安装包 linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip linux.x64_11gR2_grid.zip (3) ASMlib安装包 oracleasm-support-2.1.8-1.SLE11.x8

kubernetes学习与实践篇(二) kubernetes1.5 的安装和集群环境部署

kubernetes 1.5 的安装和集群环境部署 文章转载自:http://www.cnblogs.com/tynia/p/k8s-cluster.html 简介: Docker:是一个开源的应用容器引擎,可以为应用创建一个轻量级的.可移植的.自给自足的容器. Kubernetes:由Google开源的Docker容器集群管理系统,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等功能. Etcd:由CoreOS开发并维护的一个高可用的键值存储系统,主要用于共享配置和服务发现. Fla

ELKB5.2.2集群环境部署及优化终极文档

ELKB5.2.2集群环境部署 本人陆陆续续接触了ELK的1.4,2.0,2.4,5.0,5.2版本,可以说前面使用当中一直没有太多感触,最近使用5.2才慢慢有了点感觉,可见认知事务的艰难,本次文档尽量详细点,现在写文档越来越喜欢简洁了,不知道是不是不太好.不扯了看正文(注意这里的配置是优化前配置,正常使用没问题,量大时需要优化). 备注: 本次属于大版本变更,有很多修改,部署重大修改如下: 1,filebeat直接输出kafka,并drop不必要的字段如beat相关的 2,elasticsea

Centos7下ELK+Redis日志分析平台的集群环境部署记录

之前的文档介绍了ELK的架构基础知识,下面简单记录下ELK结合Redis搭建日志分析平台的集群环境部署过程,大致的架构如下: + Elasticsearch是一个分布式搜索分析引擎,稳定.可水平扩展.易于管理是它的主要设计初衷 + Logstash是一个灵活的数据收集.加工和传输的管道软件 + Kibana是一个数据可视化平台,可以通过将数据转化为酷炫而强大的图像而实现与数据的交互将三者的收集加工,存储分析和可视转化整合在一起就形成了ELK. 基本流程:1)Logstash-Shipper获取日

kubernetes-1.0.3集群安装部署

一.节点规划 Role Ip Host master 192.168.1.151 docker1 minion 192.168.1.154 docker2 minion 192.168.2.2 docker3 minion 192.168.1.6 docker4 二.安装部署 1.各节点操作系统为centos7.0.内核版本为 Linux docker3 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 

IBM BigInsights 3.0.0.2 集群环境搭建

1. 修改hosts文件和永久主机名 因为BigInsights 3.0版本不像之前的版本可以直接用IP来增加节点,因此我们需要更改每台server的hosts文件和主机名: vim/etc/hosts 在这个文件中增加如下的几行: vim /etc/sysconfig/network 在这个文件中设置永久主机名: 2. install ksh The server system do not contain the ksh shell, because IBM DB2 requires tha

(个人)Zookeeper集群环境部署

一.准备工作 1. 下载zookeeper,下载地址:https://zookeeper.apache.org/releases.html#download 2. 下载CentOS7的镜像,下载地址:https://www.centos.org/download/ 3. 准备XManager,用于远程连接Linux,我用的是CentOS7. 4. 准备VMVare Workstation,安装好3台以上(至少3台才能集群)CentOS75. 设置好CentOS的JDK,本人使用的是最新的JDK8

kubernetes 1.3 的安装和集群环境部署

简介: Docker:是一个开源的应用容器引擎,可以为应用创建一个轻量级的.可移植的.自给自足的容器. Kubernetes:由Google开源的Docker容器集群管理系统,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等功能. Etcd:由CoreOS开发并维护的一个高可用的键值存储系统,主要用于共享配置和服务发现. Flannel:Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,其目的在于帮助每一个使用 K

openstack集群环境部署

首先开启路由转发:#cd /e t c/sysctl.d/#vim 99-sysctl.confnet ipv4.ip_forward = 1真机上配置虚拟网卡配置文件:[[email protected] ~]# cd /etc/libvirt/qemu/networks/[[email protected] networks]# vim vbr.xml<network><name>vbr</name><forward mode='nat'/><br