环境要求(每台需要gcc环境):
yum install -y gcc
环境要求(集群初始化节点即可)ruby2.2以上,gemredis模块
yum install -y zlibzlib-devel openssl openssl-devel
然后每台机器分别解压源码包进行编译安装
tar -zxvfredis-4.0.14.tar.gz -C /data/
cd/data/redis-4.0.14/
make && makeinstall
最后在集群初始化节点(通常为1节点)创建集群:
创建新集群命令:
进入bin目录create集群
选项--replicas1:意味着我们希望每个创建的主服务器都有一个从节点
./redis-trib.rbcreate --replicas 1 172.16.10.15:7000 172.16.10.15:7001172.16.10.16:7000 172.16.10.16:7001 172.16.10.17:7000172.16.10.17:7001
新建集群时,在所有节点单实例部署完成后,在1节点安装集群依赖的gem环境报错遇到以下两种情况
报错情况1:
/usr/local/ruby/bin/geminstall redis-4.1.0.gem
ERROR:Loading command: install (LoadError)
cannotload such file -- zlib
ERROR:While executing gem ... (NoMethodError)
undefinedmethod `invoke_with_build_args for nil:NilClas
该报错解决办法:
yum -y installzlib-devel
进入ruby源码文件夹,安装ruby自身提供的zlib包:
cdruby-2.4.4/ext/zlib/
/usr/local/ruby/bin/rubyextconf.rb
make &&makeinstall
编译报错
make:*** No rule to make target `/include/ruby.h, needed by `zlib.o.Stop.
解决办法:
编辑ext/zlib/Makefile文件
找到#zlib.o:$(top_srcdir)/include/ruby.h换成zlib.o:../../include/ruby.h
#zlib.o:$(top_srcdir)/include/ruby.h
zlib.o:../../include/ruby.h
报错情况2:
/usr/local/ruby/bin/geminstall redis-4.1.0.gem
ERROR:While executing gem ... (Gem::Exception)
Unableto require openssl, install OpenSSL and rebuild ruby (preferred) oruse non-HTTPS sources
解决办法:
进入ruby源码文件夹,安装ruby自身提供的openssl包:
cdruby-2.4.4/ext/openssl
# 找到各个组件的路径
/usr/local/ruby/bin/rubyextconf.rb --with-openssl-include=/usr/include/openssl/--with-openssl-lib=/usr/lib64/openssl/
make && makeinstal
编译报错
make:*** No rule to make target `/thread_native.h, needed by `ossl.o.Stop.
打开Makefile文件:增加top_srcdir= /opt/software/ruby-2.4.4路径
topdir =/usr/local/ruby/include/ruby-2.4.0
top_srcdir =/opt/software/ruby-2.4.4
hdrdir = $(topdir)
arch_hdrdir =/usr/local/ruby/include/ruby-2.4.0/x86_64-linux
以上两种在集群初始化时安装依赖环境ruby,gem等遇到过,当然这些环境和redis版本也有着重要对应关系(上述部署的是redis4.1版本),以上记录仅供参考,特此贴下部署文档如下,如有不当,请指正。
一.redis集群配置
环境要求(每台):
yum install -y gcc
解压安装包,到解压后的目录进行安装
tar -zxvf redis-4.0.14.tar.gz -C /data/
cd /data/redis-4.0.14/
make && make install
提示以下信息,表示安装成功
Hint: Its a good idea to run make test ;)
make[1]: Leaving directory `/data/redis-4.0.14/src
cd src && make install
make[1]: Entering directory `/data/redis-4.0.14/src
CC Makefile.dep
make[1]: Leaving directory `/data/redis-4.0.14/src
make[1]: Entering directory `/data/redis-4.0.14/src
Hint: Its a good idea to run make test ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/data/redis-4.0.14/src
安装成功后,再解压的目录创建一个以端口号的目录
mkdir 7000
mkdir 7000{data,log}
cd 7000
cat >>redis.conf<<EOF
#redis.config
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
bind 172.16.10.16
pidfile /data/redis-4.0.14/7000/redis_7000.pid
dir /data/redis-4.0.14/7000/data
logfile /data/redis-4.0.14/7000/log/redis_7000.log
EOF
配置好目录和配置文件后 复制为其他端口号的目录
cd /data/redis-4.0.14/
cp -r 7000 7001
修改端口号为7001,直接替换(记得修改bind的IP为服务器本机IP)
vim 7001/redis.conf
:%s/7000/7001/g
然后注册为系统服务方便启动维护
cd /data/redis-4.0.14/utils/
./install_server.sh
################################################################################################
[root@domp03 utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379] 7000
Please select the redis config file name [/etc/redis/7000.conf] /data/redis-4.0.14/7000/redis.conf
Please select the redis log file name [/var/log/redis_7000.log] /data/redis-4.0.14/7000/log/redis_7000.log
Please select the data directory for this instance [/var/lib/redis/7000] /data/redis-4.0.14/7000/data
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port : 7000
Config file : /data/redis-4.0.14/7000/redis.conf
Log file : /data/redis-4.0.14/7000/log/redis_7000.log
Data dir : /data/redis-4.0.14/7000/data
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.(确定配置回车即可)
Copied /tmp/7000.conf => /etc/init.d/redis_7000
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful
#####################################################################################
检测单实例安装情况
[root@domp03 7001]# systemctl restart redis_7000
[root@domp03 7001]# systemctl restart redis_7001
[root@domp03 7001]# ps -ef|grep redis
root 5081 1 0 16:35 ? 00:00:00 /usr/local/bin/redis-server 172.16.10.17:7000 [cluster]
root 5093 1 0 16:35 ? 00:00:00 /usr/local/bin/redis-server 172.16.10.17:7001 [cluster]
root 5098 1484 0 16:35 pts/1 00:00:00 grep --color=auto redis
集群配置(一台上做即可)
环境要求ruby2.2以上,gem redis模块
yum install -y zlib zlib-devel openssl openssl-devel
1.先解压ruby.gz包
tar -zxvf ruby-2.5.7.tar.gz -C /usr/local/
cd /usr/local/ruby-2.5.7/
./configure && make && make install
检测安装后的版本
/usr/local/ruby-2.5.7/ruby -v
/usr/local/ruby-2.5.7/gem -v
2.集成zlib库到ruby环境
cd /usr/local/ruby-2.5.7/ext/zlib
/usr/local/ruby-2.5.7/ruby extconf.rb
修改Makefile文件中的zlib.o
zlib.o: $(top_srcdir)/include/ruby.h,将$(top_srcdir)修改为../..如下:
zlib.o: ../../include/ruby.h
make && make install
3.集成openssl库到ruby环境
cd /usr/local/ruby-2.5.7/ext/openssl
/usr/local/ruby-2.5.7/ruby extconf.rb
修改Makefile文件,修改或新增
top_srcdir=../..
make && make install
4.安装gem redis模块
gem install /soft/redis-4.0.1.gem
5.配置redis集群
/data/redis-4.0.14/src
创建新集群命令:命令create,选项--replicas 1意味着我们希望每个创建的主服务器都有一个从服
./redis-trib.rb create --replicas 1 172.16.10.15:7000 172.16.10.15:7001 172.16.10.16:7000 172.16.10.16:7001 172.16.10.17:7000 172.16.10.17:7001
###############################################################
>>> Performing Cluster Check (using node 172.16.10.15:7000)
M: 8986394ba0b1dbe1111c86456a64bd4772b8b49c 172.16.10.15:7000
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: 3c43b0063c47b6946a2908a2f7104b76763b39c9 172.16.10.17:7000
slots:10923-16383 (5461 slots) master
1 additional replica(s)
M: a60599db59814392385a1d047bd4f0b529eb1b31 172.16.10.16:7000
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: b7899e092d0affa3e0ca1d4a367eea3af98f986b 172.16.10.17:7001
slots: (0 slots) slave
replicates a60599db59814392385a1d047bd4f0b529eb1b31
S: f8f577ceca57142e83e1da6886eda590b8fb1e86 172.16.10.15:7001
slots: (0 slots) slave
replicates 3c43b0063c47b6946a2908a2f7104b76763b39c9
S: 8156d4655e6598f651af923e0cb0fd2bfcb53b82 172.16.10.16:7001
slots: (0 slots) slave
replicates 8986394ba0b1dbe1111c86456a64bd4772b8b49c
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
#################################################################
出现这个表示配置正常
集群节点状态查看
redis-cli -h 172.16.10.15 -p 7000 cluster nodes
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130078.html
摘要:本文整理了年月国产数据库大事件和重要产品发布消息。柏睿数据库加速安全卡面向全球重磅发布。月日,在全球数字经济大会成果发布会上,中国移动北京分公司与国产数据库领域新锐企业柏睿数据签署战略合作协议。本次大赛主要面向全国爱好数据库的高校学生。 本文整理了2021年8月国产数据库大事件和重要产品发布消息。目录8月国产数据库大事记TOP108月国产数据库大事记时间线产品/版本发布兼容认证8月排行榜新增...
摘要:今天,,云原生计算基金会技术监督委员会宣布已经投票决议通过,正式将从沙箱项目晋级至孵化项目。晋级为孵化项目之后,将与其他项目一道,成为与其技术利益一致的中立的基金会的一部分,享有基金会为其提供的治理市场和社区推广等权益。 今天,CNCF(Cloud Native Computing Foundation,云原生计算基金会)技术监督委员会(TOC)宣布已经投票决议通过,正式将 TiKV...
摘要:月日消息,近日,中国信息通信研究院大数据产品能力评测数据库方向的测评结果陆续出炉。月日消息,国家工业信息安全发展研究中心发布电信行业数据库产品第一期测评结果,前三名分别是阿里云数据库柏睿数据企业级交易型数据库信创版云和恩墨企业级数据库。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-si...
摘要:去年年底因为使用了云存储和其他方面的原因,计划的将服务器缩减一个机柜出来。云服务的回源服务器的配置中间漏了一台,后期给补上了。监控迁移完毕之后,除了常规的业务代码,还需要注意图片资源的回源是否正常服务器压力是否正常检查日志是否出现错误。 去年年底因为使用了云存储和其他方面的原因,计划的将服务器缩减一个机柜出来。这样今年每月机房的费用可以减少1万左右。前前后后抽空在弄这个任务,现做个笔记...
阅读 1249·2023-01-11 13:20
阅读 1558·2023-01-11 13:20
阅读 1012·2023-01-11 13:20
阅读 1680·2023-01-11 13:20
阅读 3971·2023-01-11 13:20
阅读 2519·2023-01-11 13:20
阅读 1355·2023-01-11 13:20
阅读 3486·2023-01-11 13:20