Redis-3.2.4服务搭建

 

1.下载安装包并解压

全部版本地址:http://download.redis.io/releases

安装包下载: http://download.redis.io/releases/redis-3.2.4.tar.gz

我们这里使用3.2.4

2.编译安装

cd redis-3.2.4
make && make install

可能异常:(root用户部署不会出现该问题)

说明无权限,需要权限,修改目录当前用户权限。

异常2

MAKE hiredis
cd hiredis && make static
make[3]: 进入目录“/xxx/redis/redis-3.2.4/deps/hiredis”
gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: 离开目录“/xxx/redis/redis-3.2.4/deps/hiredis”
make[2]: *** [hiredis] 错误 2
make[2]: 离开目录“/xxx/redis/redis-3.2.4/deps”
make[1]: [persist-settings] 错误 2 (忽略)CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/xxx/redis/redis-3.2.4/src”
make: *** [all] 错误 2

运行

yum -y install gcc-c++ gcc

删除原有目录,重新解压redis

3.进入src目录下将 redis-trib.rb 复制到 /usr/local/bin 目录下

cd src
cp redis-trib.rb /usr/local/bin/

4.创建redis节点,配置相关配置文件

  • 在redis根目录下创建redis_cluster目录
  • mkdir redis_cluster

    在 redis_cluster 目录下,创建名为7000、7001、7002的目录,并将 redis.conf 拷贝到这三个目录中

    mkdir 7000 7001 7002

     

     

  • 将redis.conf 复制到三个目录中
  • 修改配置文件
  • port  7000                                        //端口7000,7002,7003        
    bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
    daemonize    yes                               //redis后台运行
    pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002
    cluster-enabled  yes                           //开启集群  把注释#去掉
    cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002
    cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
    appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

    另外一台服务器也是相同操作,端口不同(7003,7004,7005),cluster模式最少需要六个节点、

5.启动六个节点

第一台机器上执行
redis-server redis_cluster/7000/redis.conf
redis-server redis_cluster/7001/redis.conf
redis-server redis_cluster/7002/redis.conf另外一台机器上执行
redis-server redis_cluster/7003/redis.conf
redis-server redis_cluster/7004/redis.conf
redis-server redis_cluster/7005/redis.conf 

如果遇到没有redis-server命令,可以直接进入目录启动

/usr/local/bin/redis-server

6.查看是否启动成功

[test@test 7000]$ ps -ef|grep redis
root      6931     1  0 16:37 ?        00:00:02 /usr/local/bin/redis-server 172.20.2.83:7000 [cluster]   
root      6935     1  0 16:37 ?        00:00:02 /usr/local/bin/redis-server 172.20.2.83:7001 [cluster]   
root      6939     1  0 16:37 ?        00:00:01 /usr/local/bin/redis-server 172.20.2.83:7002 [cluster]  

7.创建集群,两个节点连接起来

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。

这个工具是用 ruby 实现的,所以需要安装 ruby。安装命令如下:
sudo yum -y install ruby ruby-devel rubygems rpm-build
sudo gem install redis --version 3.0.0 (注意要安装3.0.0版本,3.3.2版本会报错!!报错原因未知)

 

 

[root@test~]# /usr/local/bin/redis-trib.rb create --replicas 1 172.20.2.83:7000 172.20.2.83:7001 172.20.2.83:7002 172.20.2.86:7003 172.20.2.86:7004 172.20.2.86:7005
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
172.20.2.86:7003
172.20.2.83:7000
172.20.2.86:7004
Adding replica 172.20.2.83:7001 to 172.20.2.86:7003
Adding replica 172.20.2.86:7005 to 172.20.2.83:7000
Adding replica 172.20.2.83:7002 to 172.20.2.86:7004
M: de87fb089bdafad79fb1078da75cf522aa192ba8 172.20.2.83:7000slots:5461-10922 (5462 slots) master
S: c72a1f5b4fff707c62f60265073a334c41829a87 172.20.2.83:7001replicates c430fc18fdb74dd955b106ef44abe2258ad457da
S: 7861067e7803d99c3844162d157283cb98d9edc9 172.20.2.83:7002replicates c72ab6cb7ddc6c3c7529f7d58ab9d9bb53ceef48
M: c430fc18fdb74dd955b106ef44abe2258ad457da 172.20.2.86:7003slots:0-5460 (5461 slots) master
M: c72ab6cb7ddc6c3c7529f7d58ab9d9bb53ceef48 172.20.2.86:7004slots:10923-16383 (5461 slots) master
S: f56b724050d2c86be6e1efe0de417cfc2821a2c8 172.20.2.86:7005replicates de87fb089bdafad79fb1078da75cf522aa192ba8
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..
>>> Performing Cluster Check (using node 172.20.2.83:7000)
M: de87fb089bdafad79fb1078da75cf522aa192ba8 172.20.2.83:7000slots:5461-10922 (5462 slots) master1 additional replica(s)
M: c430fc18fdb74dd955b106ef44abe2258ad457da 172.20.2.86:7003slots:0-5460 (5461 slots) master1 additional replica(s)
M: c72ab6cb7ddc6c3c7529f7d58ab9d9bb53ceef48 172.20.2.86:7004slots:10923-16383 (5461 slots) master1 additional replica(s)
S: c72a1f5b4fff707c62f60265073a334c41829a87 172.20.2.83:7001slots: (0 slots) slavereplicates c430fc18fdb74dd955b106ef44abe2258ad457da
S: 7861067e7803d99c3844162d157283cb98d9edc9 172.20.2.83:7002slots: (0 slots) slavereplicates c72ab6cb7ddc6c3c7529f7d58ab9d9bb53ceef48
S: f56b724050d2c86be6e1efe0de417cfc2821a2c8 172.20.2.86:7005slots: (0 slots) slavereplicates de87fb089bdafad79fb1078da75cf522aa192ba8
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

安装成功

异常:

如果上述步骤不安装3.0.0版本报错如下:

8.测试集群是否可用

[root@test ~]# redis-cli -h 172.20.2.83 -c -p 7002  
172.20.2.83:7002>  set key1 value1
-> Redirected to slot [9189] located at 172.20.2.83:7000
OK
172.20.2.83:7000> get key1
"value1"
172.20.2.83:7000> 

 

参考:

https://www.oschina.net/code/snippet_1046345_44151

http://www.cnblogs.com/wuxl360/p/5920330.html

redis超过使用内存大小:http://www.cnblogs.com/tdws/p/5727633.html

redis配置参数:http://blog.csdn.net/neubuffer/article/details/17003909

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Fragment 真正的完全解析(上)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961 自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~ 本篇博…

Hbase Import导入数据异常处理-RetriesExhaustedWithDetailsException

CDH显示 问题导致原因: hbase org.apache.hadoop.hbase.mapreduce.Import -Dmapred.job.queue.nameetl crawl:wechat_biz /hbase/test4 执行import时,短时间内写入数据量过大导致写入异常。 18/09/11 09:44:27 INFO mapreduce.Job: Task Id : attempt_…

Android RecyclerView 使用完全解析 体验艺术般的控件

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45059587; 本文出自:【张鸿洋的博客】 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的…

三维刚体变换

1.旋转向量: 满足以下关系 (E单位阵) 进一步得到: p经过旋转和平移得到,公式表达如下: ;(t平移矩阵) 我们可以将上面的式子写成齐次: T也成为变换举证(transform Matrix) 它的反变换可以表示如下&am…

远程桌面管理工具

链接:https://pan.baidu.com/s/1K_AMitnmpYQkRWSBq9HhVA 提取码:d9eo

Impala-shell 查询异常 - ERROR: AnalysisException: Failed to evaluate expr: 1

直接使用impala-shell 进行最近本查询,异常 [test:21000] default> select * from tbName limit 1; Query: select * from vt_article limit 1 Query submitted at: 2018-09-14 13:43:10 (Coordinator: http://fwqzx002:25000) ERROR: AnalysisException: Fail…

手把手教你写平衡二叉树

因为上BST课的时候睡觉睡过了结果。。。,后者折腾了一个下午才写了出来,感谢http://blog.chinaunix.net/uid-24948645-id-3913917.html博客的详细解析,但是上面的不足之处在于代码是伪代码,基本实现不了,然后自己做了修…

cuda编程性能 分析工具 nvprof的使用

ubuntu环境上,安装cuda,会自动安装一些工具nvcc ,nvprof nvcc-gdb.... 1.编译生成可执行文件 2.nvprof ./test 可以把性能分析数据输出到文件中 nvprof ./test -o test.nvvp 可以把在nvidia visual profiler现实更加直观 一些常用的配置参数: achie…

cuda nsight 调试和性能分析

如果cuda需要调试需要在配置cmake: cmake配置 set(CUDA_NVCC_FLAGS -G;-g) 命令行编译配置: nvcc –g –G MatrixCUDA.cu –o MatrixCUDA 打开 nvidia nsight monitor ->options进行设置 2.尽量把WDDM TDR Delay 调大点 3.将 use this monitor for cuda att…

cuda线程束原语 __shfl_xor、__shfl、__shfl_up()、__shfl_down()

在CC3.0以上,支持了shuffle指令,允许thread直接读其他thread的寄存器值,只要两个thread在 同一个warp中,这种比通过shared Memory进行thread间的通讯效果更好,latency更低,同时也不消耗额外的内存资源来执行…

Hue添加RDBMS(关系型数据库)

Hue添加RDBMS方式 Hue界面没有Mysql添加方式,需要修改配置切换至Hue3界面,找一下 3.发现有添加方式 4.点进去发现,说要再配置文件中添加 5.经查阅资料发现,需要在hue的配置中hue_safety_valve.ini 修改/添加 相关数据库配置 6.…

HBase BlockCache系列 - 探求BlockCache实现机制

转载自:http://hbasefly.com/2016/04/26/hbase-blockcache-2/ HBase BlockCache系列第一篇文章《走进BlockCache》从全局视角对HBase中缓存、Memstore等作了简要概述,并重点介绍了几种BlockCache方案及其演进过程,对此还不了解的可以点这里。…

CDH- Hive HWI 配置

目录 一、HWI安装 二、其中遇到一些问题: 1.遇到如下问题,将jre环境中的toos.jar 服务到lib目录下 2.CDH中没有hwi相关配置参数,手动加入并修改端口为9998,发现并未生效,暂时未找到原因所在。 一、HWI安装 通过查看…

Hive - HWI 简单使用

进入HWI web页面 查看数据库中的表: 单击Create Session,并输入任务名称(自定义) 输入相关信息 Result File:结果输出文件 Error File:错误输出文件(可不填) Query:需要执行的语句,一些需要设置的参数也在这里面进…

html之插入图片

GIF、JPEG、PNG是最符合在网页设计中使用的格式&#xff0c;但是要想将它们呈现在网页中&#xff0c;必须将它们链接在网页&#xff0c;这是通过HTML中添加到图片的路径链接来实现的。 使用html中的img可以实现该功能 图片的源地址(src属性) <img src"文件路径"…

html之figure元素和figcaption元素为图片声明标题

figure和figcaption元素结合来为图片、视频、表格或者嵌入元素声明标题。以前使用如下方式为图片添加标题&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g…

常用数学符号大全、关系代数符号

http://www.dataguru.cn/thread-247437-1-1.html 常用数学符号大全、关系代数符号 1、几何符号   ⊥ ∥ ∠ ⌒ ⊙ ≡ ≌ △   2、代数符号   ∝ ∧ ∨ &#xff5e; ∫ ≠ ≤ ≥ ≈ ∞ ∶   3、运算符号   如加号&#xff08;&a…

Segment-based Disparity Refinement with Occlusion Handling for Stereo Matching翻译和理解

摘要 摘要:本文提出了一种视差细化方法&#xff0c;通过对视差统计意义的探讨&#xff0c;直接细化赢者通吃视差图。根据基于分割的立体匹配的主要步骤&#xff0c;将参考图像过度分割为超像素&#xff0c;并通过改进的随机样本对每个超像素进行视差面拟合共识(RANSAC)。我们设…

Hadoop文章收集汇总 - 如禁止转载,请及时联系本人 收集学习互联网各位前辈分享的文章

工具自动自动集成文章列表与URL 公众号名称标题作者发布时间Hadoop实操如何使用Sentry管理Hive仓库目录外的其他目录的acl同步Fayson2018/9/30 8:27Hadoop实操如何使用Impala合并小文件Fayson2018/9/29 1:14Hadoop实操如何规划设置Kafka Broker的heap sizeFayson2018/9/28 0:27…

html之文档的头部和元数据定义(上)

什么叫元数据&#xff1f; 要理解这个问题&#xff0c;首先要知道“元”是什么。元(meta)&#xff0c;一般被我们翻译成“关于……的……”。 元数据(meta data)——“data about data” 关于数据的数据&#xff0c;一般是结构化数据&#xff08;如存储在数据库里的数据&#x…