macOS high sierra 下搭建redis集群
来源:互联网 发布:js笔试题及答案 编辑:程序博客网 时间:2024/05/16 17:13
1.下载redis的安装包.
2.在/usr/local/目录下创建redis-cluster 文件夹,并将redis解压到此目录中
sudo tar -zxvf redis-4.0.6.tar.gz -C /usr/local/redis-cluster
3.进入redis解压目录
cd /usr/local/redis-cluster/redis-4.0.6
4.进行安装
sudo make && make install此处建议先进行test测试,如果有依赖问题好及时解决sudo make test
5.安装完成后,将redis-4.0.6文件夹复制6份,分别命名为redis01,redis02,… redis06
此时文件夹目录如下: redis-cluster - redis-4.0.6 - redis01 - redis02 - redis03 - redis04 - redis05 - redis06
6.修改redis配置文件redis.conf(如:到redis01目录下,修改redis01的redis.conf)
!!因为配置文件过于庞大,各个配置项相隔太远,不好管理,所以我将配置项复制了一份放在文件开始的位置,后边出现的相同配置项将其注释掉即可。#统一配置,将对应的配置项注解掉,提前到此处```#All the config is move to here#redis后台运行daemonize yes#端口7001,7002,7003port 7001#集群的配置配置文件首次启动自动生成 7000,7001,7002cluster-config-file nodes_7001.conf#aof日志文件名appendfilename "appendonly.7001.aof"#pidfile文件对应7000,7001,7002,7003pidfile /var/run/redis_7001.pid#开启集群 把注释#去掉cluster-enabled yes#请求超时 设置5秒够了cluster-node-timeout 5000#aof日志开启有需要就开启,它会每次写操作都记录一条日志appendonly yes#绑定ip,如果想要远程登录,就将其注释掉#bind 127.0.0.1#登陆密码 完成集群前不要设置,否则无法进行主从节点的链接#requirepass passwd#masterauth passwd#是否开启保护模式,如果想要远程操作(非本机操作)就将其设为no,否则为yesprotected-mode no
7.6个文件夹全部修改完成后,执行命令启动redis-server
cd /usr/local/redis-cluster/redis01 &&redis-server redis.confcd /usr/local/redis-cluster/redis02 &&redis-server redis.confcd /usr/local/redis-cluster/redis03 &&redis-server redis.confcd /usr/local/redis-cluster/redis04 &&redis-server redis.confcd /usr/local/redis-cluster/redis05 &&redis-server redis.confcd /usr/local/redis-cluster/redis06 &&redis-server redis.conf(最后一条要有回车)若提示没有权限,就给对应的文件添加权限,此处建议一劳永逸的方法sudo chown -R (your user name) /usr/local/redis-cluster此命令将redis-cluster下所有文件的所有者更改为当前用户再次执行启动命令
8.检查是否启动成功
执行ps -ef|grep redis查看是否启动
501 61887 1 0 4:27下午 ?? 0:00.02 redis-server 127.0.0.1:7001 [cluster] 501 61894 1 0 4:27下午 ?? 0:00.02 redis-server 127.0.0.1:7002 [cluster] 501 61901 1 0 4:27下午 ?? 0:00.02 redis-server 127.0.0.1:7003 [cluster] 501 61908 1 0 4:27下午 ?? 0:00.02 redis-server 127.0.0.1:7004 [cluster] 501 61915 1 0 4:27下午 ?? 0:00.02 redis-server 127.0.0.1:7005 [cluster] 501 61923 1 0 4:27下午 ?? 0:00.02 redis-server 127.0.0.1:7006 [cluster] 501 61926 56774 0 4:27下午 ttys000 0:00.00 grep redis
如果出现以上结果,表示启动成功
9.进行主从节点的链接
进入redis的安装目录4.0.6
cd /usr/local/redis-4.0.6/src &&./redis-trib.rb create --replicas 1 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 127.0.0.1:7006若没有问题,在确认界面输入yes;注意:--replicas 1 代表每个master有一个slave,还有就是前面三个是主服务,后面三个从服务地址,集群配置成功。PS:此处用到ruby环境,如果未安装ruby的,请自行百度如何安装配置ruby环境,ruby版本要求2.2.2及以上
若出现以下提示,表示操作成功
>>> Creating cluster>>> Performing hash slots allocation on 6 nodes...Using 3 masters:127.0.0.1:7001127.0.0.1:7002127.0.0.1:7003Adding replica 127.0.0.1:7004 to 127.0.0.1:7001Adding replica 127.0.0.1:7005 to 127.0.0.1:7002Adding replica 127.0.0.1:7006 to 127.0.0.1:7003M: 692301fa80af9870bb258c34b553590fbced72ad 127.0.0.1:7001 slots:0-5460 (5461 slots) masterM: 164295b1736fb5fc244abf0a2e57774d938a7262 127.0.0.1:7002 slots:5461-10922 (5462 slots) masterM: 0ee3bde15b2caf32df19ef85d874c228be8d9342 127.0.0.1:7003 slots:10923-16383 (5461 slots) masterS: 657967366913fff237e091320761ea7ef9544893 127.0.0.1:7004 replicates 692301fa80af9870bb258c34b553590fbced72adS: 13c976fada6a8537826b2585a5dabad6fd2a4ece 127.0.0.1:7005 replicates 164295b1736fb5fc244abf0a2e57774d938a7262S: 30098db4933f13b02ef2a30a5070617f0ae58fd4 127.0.0.1:7006 replicates 0ee3bde15b2caf32df19ef85d874c228be8d9342Can 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 clusterWaiting for the cluster to join.....>>> Performing Cluster Check (using node 127.0.0.1:7001)M: 692301fa80af9870bb258c34b553590fbced72ad 127.0.0.1:7001 slots:0-5460 (5461 slots) master 1 additional replica(s)S: 13c976fada6a8537826b2585a5dabad6fd2a4ece 127.0.0.1:7005 slots: (0 slots) slave replicates 164295b1736fb5fc244abf0a2e57774d938a7262M: 0ee3bde15b2caf32df19ef85d874c228be8d9342 127.0.0.1:7003 slots:10923-16383 (5461 slots) master 1 additional replica(s)M: 164295b1736fb5fc244abf0a2e57774d938a7262 127.0.0.1:7002 slots:5461-10922 (5462 slots) master 1 additional replica(s)S: 657967366913fff237e091320761ea7ef9544893 127.0.0.1:7004 slots: (0 slots) slave replicates 692301fa80af9870bb258c34b553590fbced72adS: 30098db4933f13b02ef2a30a5070617f0ae58fd4 127.0.0.1:7006 slots: (0 slots) slave replicates 0ee3bde15b2caf32df19ef85d874c228be8d9342[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.
PS:网上有教程说,进行完这一步,接下来要进行slots的分配,这个应该在3.x.x的版本需要,本次搭建并未进行slots的分配,系统自动完成了slots的分配工作
10.远程访问控制
现在我们已经搭建完redis的集群,该集群有三个主节点,三个从节点
本机登录redis进行测试redis-cli -h localhost -p 7001回车后会进入7001节点192.168.3.3:7001>
此时表示我们的集群服务已经可用,下面进行远程登录的一些配置
针对目前很多的信息安全事件,如果我们的redis要在远程进行控制,加一些访问控制无疑是最好的 1.首先,停掉所有redis服务,先使用ps -ef | grep redis 列出所有的redis进程,并获取到pid 2.使用kill -9 pid pid ... pid 的方式,杀掉这6个redis-server进程 3.修改我们从redis01到redis06中的redis.conf文件 #登陆密码 完成集群前不要设置,否则无法进行主从节点的链接 #requirepass passwd #masterauth passwd 将requirepass和masterauth注释打开 使其如下: requirepass your-passwd masterauth your-passwd 4.重新启动redis-server完成配置
远程登录测试
笔者使用的是ubuntu16.04LTS输入redis-cli -h 192.168.3.3 -p 7001 -a yourpasswd提示找不到redis-cli,这是因为笔者系统中并未安装redis及相关组件,这里笔者只需要使用远程登录组件,就不需要安装redis直接运行 sudo apt-get install redis-tools等待安装完成即可完成后,输入命令 redis-cli -a 192.168.3.3 -p 7001 -a yourpasswd登录成功后,进入redis控制台:$ redis-cli -h 192.168.3.3 -p 7001 -a yourpasswd192.168.3.3:7001> 输入测试 set a 1OK有时会出现(error) MOVED 15495 127.0.0.1:7003这并不是说我们配置有误,而是redis算法中,将我们的键值对计算之后,存放到了7003节点的对应slots中
至此,mac下的redis集群搭建完毕
阅读全文
0 0
- macOS high sierra 下搭建redis集群
- macos high sierra
- macOS Sierra 升级macOS High Sierra升级失败,拯救数据
- macOS High Sierra 的锁屏功能
- macOS Sierra下安装mysql
- macOS High Sierra公测版申请及下载安装
- 升级macOS High Sierra后cocoapods不能使用的解决办法
- 更新Macos High Sierra后IDEA SVN 无法更新
- macos high sierra(10.13.1)+mysql5.7.17中文乱码问题
- FAQ: 升级 MacOS High Sierra后 git 命令失效
- MacOS High Sierra(10.13.2) 编译Faiss -- 包括问题解决
- macOS High Sierra 重装系统卡在剩余……
- macOS 10.12 Sierra Apache PHP初步搭建
- Mac从macOS Sierra升级到High Sierra的Idea17.2.5版本svn失效
- macOS Sierra 下安装svn方法
- macOS Sierra下xcode配置opencv2.4.13
- 【最新】macOS Sierra 环境下 安装CocoaPods
- Ubuntu下搭建Redis集群
- Polo360小项目总结
- Python·Jupyter Notebook各种使用方法记录
- [LeetCode] 504. Base 7 ❤
- ubutun vi 上下左右 ABCD
- windows7安装CentOS7及linux的使用2
- macOS high sierra 下搭建redis集群
- Java中long类型为何会自动转换为float类型?(未整理)
- C++虚函数应用
- 网卡类WiFi模块系列三:USB接口双通道单/双频WiFi模块
- 补第十一周Leetcode 博客
- python中在使用asyncio中使用requests
- USB通信协议
- struts2 --- 拦截器
- 中企动力小程序开发服务上市,4大核心功能支持全行业